2010-04-16 3 views
0

내 Java 웹 응용 프로그램에서 암호 기억 기능을 구현하려고합니다. 나는이처럼 구현하려는 :데이터베이스 레코드에서 비밀번호 변경 고유 코드를 '만료'할 수 있습니까?

  1. 사용자
  2. 앱은 문자와 숫자의 고유 코드를 생성하고 매개 변수로 그와 함께 링크를 전송 버튼
  3. 을 '비밀번호를 잊어 버렸습니다'계정 이메일 주소와 프레스를 입력 사용자의 이메일 주소는
  4. 사용자가 링크를 클릭하고 그들이 내가 링크 (즉, 고유 코드)의 '를 만료'보장되어 수행 할 작업을 그들의 새로운 비밀번호

를 입력 할 수있는 양식이 제공된다 사용자가 암호 분실 버튼을 누른 후 1 시간 후에 공격자가 전자 메일 계정에 대한 액세스 권한을 획득 한 경우 첫 번째 시간에 액세스하지 않으면이 링크가 작동하지 않습니다.

'만료'데이터베이스를 만드는 방법이나 사용자의 계정 레코드에 대한 코드를 지우는 방법을 모르겠습니다. 어떻게 구현할 수 있습니까?

답변

3

코드가 들어있는 테이블에 ValidUntil 열을 추가하고 사용자가 암호를 변경하도록 확인하십시오.

+2

a) 데이터베이스의 기존 데이터를 업데이트하지 않고 허용 된 시간을 쉽게 변경할 수 있고 b) 테스트하는 동안 변경하는 시간을 시뮬레이트 할 수 있기 때문에 코드가 생성 된 날짜를 저장하는 것이 좋습니다. 데이터베이스에있는 데이터를 엉망으로 다루는 것보다는 코드에서 허용되는 시간을 고려해야합니다. – RedFilter

+0

@OrbMan, 나는 a)에 동의하며,이 의견 상자가 b)가 적용되지 않는 이유를 설명하기에 충분한 텍스트를 허용하지 않는다고 생각합니다. –

+0

시원하고 멋진 간단한 솔루션 - 지금 바보 같아요 :) – JMM

0

데이터베이스에 고유 코드가 생성 된 날짜를 저장합니다. 사용자가 링크를 클릭하면 고유 코드가 생성 된 이후 허용 된 시간보다 길면 암호를 변경할 수 없습니다.

관련 문제