2013-05-02 2 views
-1

안녕하세요, 저는 PHP 프로그래머입니다. 세션이 클라이언트 컴퓨터의 브라우저/쿠키 파일에 클라이언트 측에 저장된 다음 내 자신의 PC에서 로그인 한 동일한 사용자를 식별하는 서버와 해당 정보가 표시되어야한다는 인터뷰 질문이 나옵니다 나에게? 도와주세요. 이 시스템 (또는 세션이 시작)에 로그인하면서버에서 사용자가 세션을 식별하는 방법

+1

http://stackoverflow.com/questions/2954879/how-session-works –

답변

1

는 고유 한 세션 ID가 생성되고 이는 보통 쿠키에 저장됩니다. 귀하의 브라우저를 식별합니다.

그러면 서버는이 세션 ID을 사용하여 서버에서 데이터를 가져옵니다.

1

SESSION은 클라이언트 측이 아니라 서버 측에 저장됩니다.

SESSION 클라이언트 측에 PHPSESSID이 각각의 사용자를 식별하기 위해 COOKIE으로 저장된다.

0

$ _SESSION 변수는 세션이 시작될 때 생성되는 해당 session_id와 함께 서버에 저장됩니다. 클라이언트 측에서는 정확히 동일한 session_id와 함께 쿠키가 저장됩니다. 이렇게하면 브라우저가 서버를 식별 할 수 있고 서버는이 세션/사용자에 대해 $ _SESSION에 저장된 올바른 정보를 릴리스 할 수 있습니다.

0

세션은 서버 쪽에 저장됩니다. 그리고 매번 로그인 세션은 고유 세션 id을 생성합니다. 세션 ID 서버가 사용자를 식별합니다. $ _SESSION은 세션 변수입니다.

0
  • 세션은 session_start()으로 시작됩니다. 실제 세션에 고유 한 세션 ID가없는 경우 php는 세션 ID를 생성하고 응답과 함께 클라이언트에 보냅니다. 브라우저는 세션 ID를 쿠키 (허용되는 경우) PHPSESSID으로 저장하거나 쿼리 매개 변수 ?PHPSESSID=uniquesessionid을 사용하여 모든 링크를 생성하지 않아도됩니다. 그렇지 않으면 일관된 세션이 불가능합니다.

  • 모든 요청시 세션 쿠키 (허용 된 경우) 또는 쿼리 매개 변수가 전송됩니다. PHP는이 세션 ID를 사용하여 서버 측에 저장된 데이터를 식별하고 너는 $_SESSION 어레이에 액세스 할 수 있습니다. 따라서 세션 배열에 사용자 이름이나 사용자 ID를 저장할 수 있습니다. 모든 세션 ID에 대해 세션 배열은 고유합니다. 브라우저에서 제공받은 세션에만 액세스 할 수 있습니다.

  • 대부분의 서버에서 세션은 session.save_path에 구성된 경로 아래의 파일 시스템에 저장됩니다. 파일 이름은 보통 sess_uniquesessionid입니다. 프로그래밍 방식으로이 경로를 session_save_path()으로 결정할 수 있지만 대상 경로에 액세스 할 수있는 경우 변경할 수도 있습니다.

  • 세션 쿠키/매개 변수 (기준 : PHPSESSID)의 이름은 php.ini session.name로 구성되어 있습니다. 세션 이름은 session_name()으로 결정하고 변경할 수 있습니다. 전화하기 전에 완료해야합니다. session_start()

관련 문제