사용자 로그인을 유지하는 PHP 방법
1과 같은 사용자 정보를 입력합니다. ['uid'=>123, 'username'=>'testuser'] 배열. 직렬화 후 문자열이 됩니다. 문자열은 가역적 암호화 알고리즘을 사용하여 암호화되고 키 userinfo와 함께 COOKIE에 기록됩니다.
2. 가역 암호화 알고리즘은 해독이 쉽기 때문에 다른 사람이 암호화 규칙을 추측하면 이 쿠키의 내용을 쉽게 조작할 수 있으며 암호화 규칙에 따라 암호화할 수 있습니다. 그런 다음 위조하십시오.
그래서 우리는 위의 userinfo COOKIE 콘텐츠를 솔트에 추가하고 되돌릴 수 없는 암호화 알고리즘을 사용하여 해시를 생성하는 또 다른 infodig COOKIE를 추가합니다. 즉, md5와 같은 되돌릴 수 없는 알고리즘이나 md5를 여러 번 솔팅하는 경우에도 기밀로 유지되어야 합니다.
3. 위 두 쿠키에 대해 보안을 강화하고 XSS 공격에 의한 사용자 확보를 방지하기 위해 http-only 속성을 설정할 수 있습니다.
서버에서 위의 두 쿠키가 존재한다고 확인한 후
1. infodig가 userinfo와 일치하는지 확인합니다(infodig를 생성하려면 userinfo의 콘텐츠를 사용하세요). 메소드가 계산된 후 COOKIE에서 업로드한 infodig와 일치합니까?)
2. infodig 검증을 통과한 후 복호화 알고리즘을 사용하여 userinfo 문자열을 복호화하여 사용자 정보를 얻습니다. 사용자 정보의 uid가 사용자 테이블에 존재하는 경우 SESSION을 작성하고 SESSION
Summary:
을 통해 이 세션을 유지하는 것이 가능합니다. COOKIE를 사용하여 사용자 정보를 기록합니다. (물론 이메일, 휴대폰, 비밀번호 등 사용자에게 민감한 정보에는 COOKIE를 사용하지 않는 것이 좋습니다. uid, 사용자 이름, 기타 로그인에 유용한 부분만 기록됩니다. 식별자 및 닉네임은 일부 장소에서 사용자 경험을 향상시킬 수 있습니다. 확실한 것은 이 쿠키가 사용자에게 표시되도록 하려면 다음 두 가지 작업을 수행해야 한다는 것입니다:
1. 사용자는 이해할 수 없으며 오직 당사 서버만이 알고 있음(가역적 암호화 알고리즘)
2 사용자가 이해하더라도 쉽게 위조할 수 없음(가역적 해시 알고리즘)
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP에서 사용자 로그인을 유지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!