2012-08-16 2 views
-1

나는 PHP를 처음 사용하는 초보자입니다. 포털 관리자가 임시 비밀번호가있는 "사용자"를 만드는 모듈을 만들고 싶습니다.PHP에서 24 시간 후 만료되는 비밀번호 재설정 링크를 만드십시오.

  1. 사용자가 생성되면 해당 사용자는 24 시간 내에 만료되는 링크가 포함 된 이메일을 받게됩니다.
  2. 관리자는 다른 방법으로 임시 암호를 사용자에게 전달합니다.
  3. 사용자가 24 시간 이내에 이메일 링크를 클릭하면 임시 비밀번호와 새 비밀번호를 물어보고 새 비밀번호 확인 필드가 있어야합니다.
  4. 임시 암호가 맞으면 임시 암호를 데이터베이스의 새 암호로 바꿉니다.

어떻게 구현해야합니까?

+0

당신은 우리를 위해 어떤 코드도 가지고 있지 않아도 당신을 위해 완전한 논리를 만들 수있는 사람을 찾고 있습니까? 사용자가 현재 마이너스 등록되었을 때 시간 차이를 찾는 데 몇 가지 Google 검색을하고, 붙어있는 경우에만 도움을 요청하십시오 일부는 코드와 함께 ... –

+0

이제 만료 토큰을 만들려고합니다. – vimokumar

+0

@AmanVirk : 감사합니다. – vimokumar

답변

0

나는 당신의 응용 프로그램이 어떻게 구성되어 있는지 아무 생각이 없기 때문에 내가 당신을 위해 그것을 쓸 수 있지만, 내가 걸릴 것 일반적인 방법이 될 것입니다 :

  1. 사용자는 아마도 사용자 이름, 생성, 이러한 세부 정보는 데이터베이스에 저장됩니다.
  2. 임시 암호는 임의의 문자열로 생성됩니다. 데이터베이스에 NOW()의 시간 소인과 함께 해시 (MD5, SHA - Google)를 저장하십시오.
  3. 사용자 이름과 임시 비밀번호로 로그인합니다. 사용자 이름과 암호가 일치하고 현재 시간에서 기록 된 시간을 뺀 시간이 24 시간 미만이면 새 암호를 요청하십시오. 동일한 절차를 수행하고 해시 한 다음 데이터베이스에 저장하십시오. 다음에 로그인 할 때 일치하는 해시를 확인하십시오.

의미가 있습니까? 아니면 완전히 외계인이며 더 설명해야 할 부분이 있습니까?

+0

입력 해 주셔서 감사합니다. – vimokumar

1

하나의 옵션은 만료일과 함께 데이터베이스에 저장하는 링크의 매개 변수를 갖는 것입니다. 그러한 매개 변수가 없으면 링크가 허용되지 않습니다. 매개 변수가있는 경우 만료 날짜를 데이터베이스에서 확인할 수 있습니다. 유효하면 암호 변경 페이지로 진행합니다.

예 링크 :

http://www.example.com/updatepass?key=a8s67as78df7g96sd9fg6sdfg 

데이터베이스 테이블에서이 구조는 :

reset_id, user_id, reset_key, reset_timeout, reset_temp_password 

당신은 key 매개 변수, 다음 임시 비밀번호를 확인할 수 있습니다. user_id은 사용자 정보를 저장하는 user 테이블에 조인하는 데 사용됩니다.

+0

응답 해 주셔서 감사합니다. – vimokumar

관련 문제