나는 다음과 같은 구조를 가지고 : 누군가가 사용자 이름과 암호를 확인 login.php를 통해 로그인하고 설정하면PHP 세션 관리, 괜찮습니까?
이Index.php
Account.php
Login.php
CheckLogin.php
다음 세션 변수가
$_SESSION['username'] = $username;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
가 Account.php 액세스
그 HTTP_USER_AGENT를 검사하는 CheckLogin.php 파일과 username 변수가 설정되어 있는지 확인합니다.
여기 내가 문제가있는 곳입니다. 사용자가 index.php (홈 페이지)로 돌아가서 로그인 한 경우 계정 링크를 표시하고 싶습니다. 그러나 사용자가 로그인하지 않은 경우 즉, 사이트를 방문한 경우 가입 링크를 표시하고 싶습니다. 나는 다음 할 수있는 생각 :
<?php session_start()
if (!isset($_SESSION['username'])) {
// If username is not set destroy the session
session_destroy();
echo ("<a href=\"signup.php\">Sign up</a>");
}
else {
// If username is set
echo ("<a href=\"account.php\">Sign up</a>");
}
?>
나는 이것이 누군가가 세션을 납치 관리하고 세션 및 로그를 파괴한다 검사를 할 것 account.php 갔다 그러나 경우 완전히 안전하지 알고 그들이 합법적이지 않다면 그들 밖으로 나간다. 이 최상의 방법은이 원하는 결과를 얻는 더 좋은 방법입니다. 모든 사람들이 사이트를 방문하고 세션을 만들고 파괴하는 것을 생각하는 것은 좋지 않습니다. 해야 할 일이 옳은가요 아니면 제가 고려해야 할 다른 것이 있습니까?
고급 프레임 워크의 코드를 읽고 인증 관리 방법을 확인하면 잘 작동합니다. – kapa
거기에 PHP를 위해 로그인 시스템을 통해 너무 많은 생각을 가지고, 왜 이미 한 짓을 활용하지? – jtheman
그냥 팁 : 에코는 기능이 아닙니다. echo ("a")가 아닌 echo "a"를 사용하십시오. 그래도 차이는 없습니다. –