>  기사  >  백엔드 개발  >  PHP에서 사용자 로그인을 유지하는 방법

PHP에서 사용자 로그인을 유지하는 방법

王林
王林원래의
2019-10-15 13:14:515107검색

PHP에서 사용자 로그인을 유지하는 방법

사용자 로그인을 유지하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.