2011-08-16 5 views
0

PHP에서 '비밀번호 재설정'기능을 수행하는 가장 좋은 방법은 무엇입니까?PHP에서 '비밀번호 재설정'기능을 수행하는 가장 좋은 방법은 무엇입니까?

2 단계 프로세스.

  • 사용자가 이메일 ID를 입력하면 메일이 사용자와 링크로 연결됩니다.

  • 사용자가 링크를 클릭하면 견인 필드를보고 암호를 재설정 할 수 있습니다.

아무에게도이 스크립트의 흐름을 바로 잡을 수 있습니까?

+0

어디서 구현 했습니까? 네가 기본적인 생각을 갖고있는 것처럼 들리네. – deceze

+4

중요한 것은 URL은 한 번만 사용해야한다는 것입니다. 요청 후 만료됩니다. – zerkms

+0

@zerkms에 동의합니다. 또한 재설정 URL도 만료 날짜가 필요합니다. – blottedscience

답변

6

이 정보가 도움이되기를 바랍니다. 먼저 seqid, tokenid, status의 열을 가진 테이블 이름 "토큰"을 생성해야합니다. 시퀀스 ID는 해시 양식의 시퀀스 번호 tokenid와 그것이 설명하는 상태를 나타냅니다.

이제 사용자가 재설정 암호를 클릭 한 후에 만 ​​사용되는 URL을 계산해야합니다. 시스템에서 토큰 ID (해시 값 생성 방법까지)를 생성하고 URL을 작성합니다. 이메일을 통해 사용자에게 제출하십시오

도메인 이름/기능 또는 페이지? & 예를

tokenid (해시 형태로) 이름 :이 기능을 사용자가 누구인지 확인하기 위해 갈 것이다하거나 기존의 경우 URL과 tokenid는 경우를 클릭하여 사용자 후

http://www.yourdomain.com/resetpassword.php?_u=82cc5b9e02d711035aafef9e18c7eb26973e8962&tokenid=82cc5b9e02d711035aafef9e18c7eb26973e8962

그 당신이 다시

사용할 수 없습니다를 "비활성"그래서 토큰의 상태를 변경해야 할 때입니다 이미

ex. "select user from users where sha1(username) = $userInHashForm " 
    "Select * from token where tokenid = $tokenid AND status = 'active'" 

다음은 그/그녀의 암호를 재설정 만료

감사합니다. goodluck

+0

등급 주셔서 감사합니다. –

관련 문제