https://xetown.com/topics/1591321
위 글을 보고 도움이 될 것 같아 만들었습니다
기본적으로 회원가입 폼을 보면 위와같이 비밀번호 조건문이 있습니다.
먼저 비밀번호를 입력하면 사이트의 비밀번호 조건을 만족하였는지 체크합니다.
위 조건에서는 6자리 이상이며 영어와 숫자를 포함하고 있는지 체크하여 만족하지 못했을 경우 '비밀번호를 확인해주세요.' 메세지를 추가합니다.
(이해를 돕기위해 비밀번호가 가려지지 않게 하였습니다.)
다음으로 비밀번호 조건을 만족하였을 경우 비밀번호를 sha1로 암호화하여 https를 통해 외부서버에서 비밀번호 유출 전적을 확인하게 됩니다.
'test123'과 같이 유출된 비밀번호를 입력하면 '검사중..' 메세지로 변환되었다가 유출되었다는 메세지로 변화하게 됩니다.
만약 유출되지 않은 비밀번호를 입력하였다면 '이 비밀번호는 안전합니다. (xx자)' 라는 메세지로 교체되며 유출되지 않은 비밀번호라고 나오게 됩니다.
파일: password_vulnerablilty_check.zip (07/13 업데이트 됨)
설치 위치: /addons/password_vulnerablilty_check
깃허브: https://github.com/Waterticket/xe-addon-password_vulnerablilty_check
설치 후 애드온 설정에서 활성화 해주세요.
https://haveibeenpwned.com/Passwords 에 올라와있는 데이터셋을 기반으로 제작하였으며, 데이터 양이 많아 실시간으로 추가하고 있습니다.
프로젝트: https://passwordcheck.hotoproject.com/
+) 데이터베이스 크기가 수십기가를 넘어서서 집에서 직접 데이터베이스 서버를 운영하고 있습니다.
잦은 쿼리는 지양해주세요 ㅜㅜ
haveibeenpwned 에서 제공하는 API를 사용하도록 패치하였습니다.
패치 도와주신 @YJSoft 님께 감사인사 드립니다 :)