장고의 패스워드 유효성 검사 코드분석Django Password Validator4 min read2021.8.16
django의 startproject로 기본적으로 생성되는 AUTH_PASSWORD_VALIDATORS에 대해 분석해보려 합니다 1. UserAttributeSimilarityValidator 유저의 attributes(username, first_name, last_name, email)를 정규표현식으로 split한 후 각각의 value_part에 대해 유사도를 측정하고, 유사도가 max_similarity(default: 0.7)이상인 경우 validation error를 발생시킵니다. 유사도 측정에는 SequenceMatcher를 사용합니다. 2. MinimumLengthValidator password의 길이가 min_length(default: 8)보다 작다면 validatoion error를 발생시킵니다. 3. CommonPasswordValidator 사람들이 가장 많이 사용하는 패스워드 20000개에 해당하는 경우 validator error를 발생시킵니다. 200…