Feat: 강력한 비밀번호 정책 및 로그인 보안 강화

- 비밀번호 최소 10자 이상, 특수문자 1개 이상 필수
- 20회 로그인 실패 시 비밀번호 재설정 필요
- 로그인 페이지에 남은 시도 횟수 경고 표시
- 계정 잠금 시 비밀번호 재설정 링크 제공
- 회원가입 페이지에 비밀번호 요구사항 체크리스트 UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
AutonetSellCar Deploy
2026-01-01 19:19:36 +09:00
parent 1e3ad2fa65
commit 9853f0b4d5
6 changed files with 169 additions and 11 deletions

View File

@@ -465,6 +465,9 @@ export interface Translations {
creatingAccount: string;
passwordsDoNotMatch: string;
passwordTooShort: string;
passwordMinLength: string;
passwordSpecialChar: string;
passwordRequirementsNotMet: string;
registrationFailed: string;
alreadyHaveAccount: string;
signIn: string;
@@ -933,6 +936,9 @@ const translations: Record<Language, Translations> = {
creatingAccount: 'Creating account...',
passwordsDoNotMatch: 'Passwords do not match',
passwordTooShort: 'Password must be at least 6 characters',
passwordMinLength: 'At least 10 characters',
passwordSpecialChar: 'At least 1 special character (!@#$%^&*...)',
passwordRequirementsNotMet: 'Password does not meet requirements',
registrationFailed: 'Registration failed. Please try again.',
alreadyHaveAccount: 'Already have an account?',
signIn: 'Sign in',
@@ -1399,6 +1405,9 @@ const translations: Record<Language, Translations> = {
creatingAccount: 'Бүртгэл үүсгэж байна...',
passwordsDoNotMatch: 'Нууц үг таарахгүй байна',
passwordTooShort: 'Нууц үг 6-аас дээш тэмдэгт байх ёстой',
passwordMinLength: '10-аас дээш тэмдэгт',
passwordSpecialChar: '1-ээс дээш тусгай тэмдэгт (!@#$%^&*...)',
passwordRequirementsNotMet: 'Нууц үг шаардлага хангахгүй байна',
registrationFailed: 'Бүртгэл амжилтгүй. Дахин оролдоно уу.',
alreadyHaveAccount: 'Бүртгэлтэй юу?',
signIn: 'Нэвтрэх',
@@ -1865,6 +1874,9 @@ const translations: Record<Language, Translations> = {
creatingAccount: 'Создание аккаунта...',
passwordsDoNotMatch: 'Пароли не совпадают',
passwordTooShort: 'Пароль должен быть не менее 6 символов',
passwordMinLength: 'Минимум 10 символов',
passwordSpecialChar: 'Минимум 1 специальный символ (!@#$%^&*...)',
passwordRequirementsNotMet: 'Пароль не соответствует требованиям',
registrationFailed: 'Регистрация не удалась. Попробуйте снова.',
alreadyHaveAccount: 'Уже есть аккаунт?',
signIn: 'Войти',
@@ -2331,6 +2343,9 @@ const translations: Record<Language, Translations> = {
creatingAccount: '계정 생성 중...',
passwordsDoNotMatch: '비밀번호가 일치하지 않습니다',
passwordTooShort: '비밀번호는 6자 이상이어야 합니다',
passwordMinLength: '최소 10자 이상',
passwordSpecialChar: '특수문자 1개 이상 포함 (!@#$%^&*...)',
passwordRequirementsNotMet: '비밀번호 조건을 충족하지 않습니다',
registrationFailed: '가입 실패. 다시 시도해 주세요.',
alreadyHaveAccount: '이미 계정이 있으신가요?',
signIn: '로그인',