로그인 계정을 재설정하는 안전한 방법

ComSof-I

사용자가 정보를 저장하고 암호화 할 수있는 앱을 개발 중이며 일부는 민감 할 수 있습니다. 최근에 "사용자가 비밀번호를 분실하면 어떻게 되나요?"라는 질문이 나왔습니다. 현재이 앱에서는 분실 한 비밀번호를 복구 할 방법이 없습니다. 개인 정보 보호 문제를 위해 앱이 내 서버에 정보를 전송하지 않도록하고 싶습니다. 사용자가 이메일로 요청하는 사용자 이름 및 비밀번호 필드에 특정 문구를 입력하여 로그인 정보를 재설정하는 방법을 설정하는 것이 좋습니다. 그러나 이것이 좋은 생각인지 확실하지 않습니다. 이를 수행하는 더 좋은 방법이 있습니까?

Phroggyy

비밀번호 재설정을 처리하는 가장 안전한 방법은 재설정 토큰을 사용하는 것입니다. 사용자가 암호 재설정을 요청할 때마다 약 15 분 동안 또는 사용할 때까지 유효한 새 토큰을 만듭니다. 그런 다음과 같은 URL을 사용하여 사용자 이메일에 대한 링크를 보냅니다 website.tld/reset?user=username&token=aRandomToken. 재설정 페이지에서 사용자는 새 비밀번호를 선택할 수 있습니다. 이렇게하면 일반 텍스트로 사용자에게 보내는 임의의 암호를 만들 필요가 없습니다. 더 안전한 방법은 사용자를 해시하는 것이므로 user매개 변수는 해시가되고 사용자는 재설정 페이지에 사용자 이름을 입력해야합니다. 이렇게하면 링크가있는 해커가 URL 만 볼 수는 없지만 실제로 사용자 이름을 알아야합니다.

편의상 구현은 다음과 같이 보일 수 있습니다.

var reset = new PasswordReset;
reset.user = realUsername;
reset.token = md5(randString(5) + date('Y-m-d H:i:s');
reset.save();

var url = 'website.tld/reset?user=' + md5(realUsername) + '&token=' + reset.token;

// send an email to the user with the url 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

sublime3에서 현재 프로젝트에 대한 Anaconda 플러그인 설정을 재정의하는 방법은 무엇입니까?

분류에서Dev

로그인 viewcontroller에서 Xcode 6에서 제한을 설정하는 방법

분류에서Dev

내 전화기의 헤드셋 아이콘을 프로그래밍 방식으로 재설정하는 방법

분류에서Dev

데비안에서 로케일 설정을 재설정하는 방법은 무엇입니까?

분류에서Dev

Firefox 확장에서 기본 설정을 이전 값으로 재설정하는 방법은 무엇입니까?

분류에서Dev

cmd에서 프로그램을 재설정하는 방법?

분류에서Dev

이전 git 개정으로 재설정하는 방법은 무엇입니까?

분류에서Dev

새 컴퓨터로 이동 한 후 KDE / 디스플레이 설정을 재설정하는 방법

분류에서Dev

새 컴퓨터로 이동 한 후 KDE / 디스플레이 설정을 재설정하는 방법

분류에서Dev

MS Graph : 로그인 한 사용자의 계정 유형을 확인하는 방법은 무엇입니까?

분류에서Dev

Android에서 30 분 동안 로그인 한 후 API가 히트하도록 설정하는 방법

분류에서Dev

데비안에서 로그인 화면 해상도를 설정하는 방법

분류에서Dev

PHP : 로그인 정보를 안전하게 보관하는 방법

분류에서Dev

로컬 값을 정적 뮤트로 푸시하는 안전한 방법

분류에서Dev

현재 로그인 한 사용자로 모델 필드의 값을 설정하는 방법은 무엇입니까? 장고

분류에서Dev

Kendo Grid : 현재 편집을 취소 한 후 다시 그리드 셀로 포커스를 설정하는 방법

분류에서Dev

한계 값을 동적으로 설정하는 방법은 무엇입니까?

분류에서Dev

정기적 인 웹 사이트 로그인을 안전하게 자동화하는 방법

분류에서Dev

도메인 전달을 내부 IP로 설정하는 방법

분류에서Dev

Gmail을 통한 계정 확인에서 시간 제한을 설정하는 방법은 무엇입니까?

분류에서Dev

안전한 프로그래밍. 파일을 확인하고 쓸 때 TOCTOU 취약점을 피하는 방법

분류에서Dev

Rails에 사용자 계정 크레딧을 저장하는 안전한 방법

분류에서Dev

"비보안 모드로 부팅"-MOK 관리를 재설정하는 방법

분류에서Dev

PHP에서 오류 로그인에 대한 쿼리를 설정하는 방법

분류에서Dev

신속한 내 로그인 viewController 후 swrevealController를 설정하는 방법

분류에서Dev

플로팅하는 동안 matplotlib 선 스타일을 재설정하는 방법이 있습니까?

분류에서Dev

장고 로그인을 재정의하는 방법

분류에서Dev

안드로이드 recyclerview 그리드 레이아웃에 대한 경계를 설정하는 방법.

분류에서Dev

안전한 로그인 스크립트를 만드는 방법

Related 관련 기사

  1. 1

    sublime3에서 현재 프로젝트에 대한 Anaconda 플러그인 설정을 재정의하는 방법은 무엇입니까?

  2. 2

    로그인 viewcontroller에서 Xcode 6에서 제한을 설정하는 방법

  3. 3

    내 전화기의 헤드셋 아이콘을 프로그래밍 방식으로 재설정하는 방법

  4. 4

    데비안에서 로케일 설정을 재설정하는 방법은 무엇입니까?

  5. 5

    Firefox 확장에서 기본 설정을 이전 값으로 재설정하는 방법은 무엇입니까?

  6. 6

    cmd에서 프로그램을 재설정하는 방법?

  7. 7

    이전 git 개정으로 재설정하는 방법은 무엇입니까?

  8. 8

    새 컴퓨터로 이동 한 후 KDE / 디스플레이 설정을 재설정하는 방법

  9. 9

    새 컴퓨터로 이동 한 후 KDE / 디스플레이 설정을 재설정하는 방법

  10. 10

    MS Graph : 로그인 한 사용자의 계정 유형을 확인하는 방법은 무엇입니까?

  11. 11

    Android에서 30 분 동안 로그인 한 후 API가 히트하도록 설정하는 방법

  12. 12

    데비안에서 로그인 화면 해상도를 설정하는 방법

  13. 13

    PHP : 로그인 정보를 안전하게 보관하는 방법

  14. 14

    로컬 값을 정적 뮤트로 푸시하는 안전한 방법

  15. 15

    현재 로그인 한 사용자로 모델 필드의 값을 설정하는 방법은 무엇입니까? 장고

  16. 16

    Kendo Grid : 현재 편집을 취소 한 후 다시 그리드 셀로 포커스를 설정하는 방법

  17. 17

    한계 값을 동적으로 설정하는 방법은 무엇입니까?

  18. 18

    정기적 인 웹 사이트 로그인을 안전하게 자동화하는 방법

  19. 19

    도메인 전달을 내부 IP로 설정하는 방법

  20. 20

    Gmail을 통한 계정 확인에서 시간 제한을 설정하는 방법은 무엇입니까?

  21. 21

    안전한 프로그래밍. 파일을 확인하고 쓸 때 TOCTOU 취약점을 피하는 방법

  22. 22

    Rails에 사용자 계정 크레딧을 저장하는 안전한 방법

  23. 23

    "비보안 모드로 부팅"-MOK 관리를 재설정하는 방법

  24. 24

    PHP에서 오류 로그인에 대한 쿼리를 설정하는 방법

  25. 25

    신속한 내 로그인 viewController 후 swrevealController를 설정하는 방법

  26. 26

    플로팅하는 동안 matplotlib 선 스타일을 재설정하는 방법이 있습니까?

  27. 27

    장고 로그인을 재정의하는 방법

  28. 28

    안드로이드 recyclerview 그리드 레이아웃에 대한 경계를 설정하는 방법.

  29. 29

    안전한 로그인 스크립트를 만드는 방법

뜨겁다태그

보관