2014-05-13 2 views
0

전 개발 중에 있습니다. 세션과 쿠키의 작업 과정에 대해 몇 가지 생각을 갖고 있지만 마음에 의심이 생깁니다 : 쿠키가 시스템에서 사용 중지되면 어떻게됩니까? 세션이 사용자를 어떻게 고유하게 식별합니까?쿠키가 시스템에서 사용 중지되면 어떻게됩니까?

+4

Gmail을 사용 중지 한 다음 Gmail, Facebook 등을 사용해보고 어떤 일이 발생하는지 확인하십시오. –

+0

@AbhikChakraborty가 제대로 설명해 주시겠습니까 ?? – Vipin

+0

체크 아웃에 대한 답변이 이미 있습니다. –

답변

2

재미있는 질문입니다.

PHP 세션은 초기에 쿠키가 비활성화 된 상태로 작동하도록 개발되었지만이 기능은 안전하지 못하고 요즘에는 다소 위태롭게되었습니다.

그러나이 기능은 여전히 ​​작동합니다. PHP는 세션 ID를 추가하는 모든 로컬 링크를 다시 작성하여 페이지간에 전송합니다.

순진한 사용자뿐만 아니라 친구 및 세션 ID에 하이퍼 링크를 보낼 수 있기 때문에 그러나 그것은 여전히 ​​불안입니다 - 친구를 만들기는 로그인

세션 고유 등 사용자를 식별 할 방법은.?

세션 아이디어는 사용자를 식별하는 것이 아니라 을 사용하여 개별 요청간에 세션 ID를 전송하는 것입니다. 그렇게 할 수 있다면 세션을 유지할 수 있습니다. AJAX를 사용하는 최신 웹 응용 프로그램에서 AJAX 호출을 통해 엄격하게 세션 ID를 전송하고 주소 표시 줄에 표시하지 않음으로써 쿠키를 사용하지 않고도 애플리케이션을 매우 안전하게 유지할 수 있습니다.

+4

그리고 이것이 답이 될 것입니까? – ccKep

+0

쿠키없이 세션이 어떻게 작동합니까? PHP는 어떤 세션이 당신 것 인 지 어떻게 알 수 있습니까? –

+0

물론입니다. 성급한 시민이 질문을하기 전에 게시해야하는 답변 %) –

2

일부 서버 측 프레임 워크는 URL 재 작성을 사용하여 쿠키가 없을 때 세션 상태를 유지 관리 할 수 ​​있습니다. 이러한 프레임 워크의 경우 세션이 유지 될 수 있지만 사용자가 퇴장하면 정보를 유지할 수는 없습니다 (예 : 사용자가 "내 정보 기억"을 확인할 때 로그인 필드를 미리 채울 수 없습니다).

쿠키를 사용하는 시스템의 경우 세션을 사용할 수 없습니다.

많은 웹 사이트는 사용자가 로그인하지 않은 상태에서 일부 기능을 제공합니다 (예 : 스택 오버플로를 탐색 할 수는 있지만 게시 할 수 없음).

+0

URL 재 작성이 세션 상태를 어떻게 유지합니까? 세션이 URL 문자열에 저장되어 있습니까? –

+0

@RocketHazmat : 정확합니다. –

+0

@RocketHazmat 그것은 다릅니다. 적절한 "세션/상태"토큰이 리소스 액세스에서 인코딩 된 경우 (즉, 전체 상태를 인코딩 할 필요가없는 경우) 서버 측 세션을 계속 사용할 수 있습니다. 리다이렉트가 아닌 포스트 백 (ASP.NET WebForms - 나는 당신을 바라보고있다)에 의존하는 시스템에서, 헤비급 상태는 양식 데이터를 통해 그렇게 유지 될 수도있다. – user2864740

관련 문제