좋아, SESS 로그인 이온 보안은 고려해야 할 사항이 많기 때문에 실제로는 복잡한 문제입니다.
우선 세션 데이터 자체가 저장되는 방식을 고려해야합니다. 기본적으로 PHP는 세션 데이터를 웹 서버에있는 파일에 저장합니다. 전용 호스팅을 사용하는 경우 이것이 완벽하게 허용되지만 공유 호스팅 계획은 때때로 서버의 다른 호스팅 계정 사용자에게 해당 세션 데이터에 대한 액세스 권한을 부여 할 수 있습니다. 기본 세션 비헤이비어를 덮어 쓰면 데이터베이스 나 자신이 확보 한 위치에 쓸 수 있습니다. 그러나이 답변에서 자세히 설명하지는 않겠습니다.
두 번째로 세션 도용을 고려해야합니다. 세션에서 훨씬 더 위험한 URL 기반 옵션 대신 쿠키를 사용해야합니다. 그런 다음 일반 세션 조건에서 동일하게 유지해야하는 사용자 데이터를 저장하는 두 번째 쿠키를 만듭니다. 이것은 IP 주소가 아니어야하지만 변경 될 수 있습니다. 사용자가 세션 중에 브라우저를 변경해서는 안되므로 사용자 에이전트가 잘 수행해야합니다. 이를 시스템의 개인 데이터 (사용자 ID 등)와 결합한 다음 해시하는 경우 공격자가 추측 할 수없는 추가 데이터가 있는지 확인해야합니다.
SSL 연결을 사용하고 로그인 할 때 세션 ID를 재생성하려면 보안 시스템이 있어야합니다. 나는 몇 가지를 빠뜨린 것처럼 느껴진다. 그러나 나는 짧고 달콤하게 유지하고 연구를 계속하기 위해 거기에 남겨 둘 것이다. 이 약간의 도움이
희망,
라이언
사용자 X 얻을 수 있기 때문에/도용/사용자 A의 세션 ID를 생성서버가 사용자를 누가 알 수있는 가장 쉬운 방법이기 때문입니다. 어떻게 든 세션/사용자를 확인하고 HTTPS를 사용하십시오. – JimL
@JimL : "어떻게 든 세션/사용자를 확인하십시오."- 명확히하십시오. – zerkms