2012-09-03 3 views
0

저는 PHP 개발을 처음 접했습니다. 지금까지 쿠키에 해시 (사용자 + 비밀번호)를 저장하여 사용자가 로그인 한 상태로 유지했습니다. 이제는 PHP 세션을 발견했습니다.세션 PHP에 사용자 이름을 저장 하시겠습니까?

물론 서버에 액세스하지 않고 누군가가이 값을 수정할 수 있습니까? (당신이 해킹 허점을 떠날 때까지)

$_SESSION['username'] = '[email protected]'; 
+0

코드가 실행되도록 허용하거나 전역을 사용하도록 설정 한 경우에만 가능합니다. – BugFinder

+0

예 모든 쿠키 및 세션 데이터를 가져올 수있는 일부 JavaScript가있을 수 있으며 수정할 수 있습니다. – Wearybands

답변

6

아니, 세션

세션 쿠키를 통해 사용자에 매핑되는 서버 (RAM 또는 파일 시스템)에 배열되어있는 서버에 액세스하지 않고 직접 수정할 수 없습니다. 사용자는 쿠키의 세션 ID 만 가져옵니다. 사용자가 돌아 오면 PHP는 해당 세션 ID를 가져 와서 세션을 복원합니다.

+3

서버 데이터는 RAM에 저장되는 것이 아니라 파일 시스템에 저장됩니다 –

2

클라이언트는 절대 변수 $_SESSION을 변경하지 않습니다. $_SESSION 이하의 비밀번호는 $_COOKIE에 저장하지 않는 것이 좋습니다. 사용자와 암호가 올바른지 여부를 확인하고 당신은 $_SESSION['userID'] 또는 $_SESSION['user']을 만든 다음 당신은 이런 식으로는 isset 기능이있는 경우 문을 작성하여 세션이 생성되었는지 확인 : 내가 생각

if(isset($_SESSION['user'])){ 
    // do something... 
} 
관련 문제