Django로 실패한 로그인 시도 관리
1 단계:
django-axes를 설치하려면 터미널을 열고 다음 명령을 입력하십시오.
pip install django-axes
2 단계:
다음으로 설치된 앱 아래에 '축'을 추가하려고 합니다. 여기서 위치는 상관없으니 원하는 위치에 삽입하시면 됩니다.
# settings.py
INSTALLED_APPS = [
'axes', # Axes
]
3단계:
그런 다음 인증 백엔드에 'axes.backends.AxesBackend'를 추가해야 합니다. 다음과 같이 인증 백엔드 목록의 맨 위에 추가해야 합니다.
# settings.py
AUTHENTICATION_BACKENDS = [
'axes.backends.AxesBackend', # Axes must be first
'django.contrib.auth.backends.ModelBackend',
]
4단계:
다음으로 축에 대한 미들웨어를 추가해야 합니다. 이 미들웨어는 어디에나 삽입할 수 있습니다. 미들웨어는 'axes.middleware.AxesMiddleware'입니다.
# settings.py
MIDDLEWARE = [
'axes.middleware.AxesMiddleware', # Axes
]
5단계:
모든 것이 제대로 구성되었는지 확인하려면 아래 명령을 빠르게 실행하십시오.
python manage.py check
6단계:
이제 모든 것을 데이터베이스에 동기화하고 싶으므로 아래 명령을 입력하십시오.
python manage.py migrate
기본 설치 및 설정이 완료되었습니다!
7단계:
실패한 로그인 시도의 기본 횟수는 2 또는 3이어야 합니다. 이제 직접 시도하고 웹 사이트에서 이 이론을 테스트하십시오. 그러면 웹 페이지가 잠긴 것을 볼 수 있습니다.
모든 기록과 로그인 시도를 즉시 지우려면 터미널에 다음 명령을 입력하십시오.
python manage.py axes_reset
추가 정보:
settings.py 파일에 추가할 수 있는 몇 가지 django-axes 구성:
실패 한도 추가:
사용자가 애플리케이션에서 잠기기 전에 허용되는 로그인 시도 횟수를 수정할 수 있습니다. 정수가 사용되며 기본값은 3으로 설정됩니다. 6 또는 8로 설정하는 것이 좋습니다.
# settings.py
AXES_FAILURE_LIMIT: 6
'휴지' 기간 설정:
나만의 '휴식 기간'을 설정하세요. 이는 웹 사이트에 다시 로그인을 시도하기 전에 기다려야 하는 시간을 나타냅니다. 정수는 시간으로 표시되며 설정된 기본값이 없습니다.
예시:
# settings.py
AXES_COOLOFF_TIME: 2
실패한 시도 재설정:
축 실패 제한이 3회 실패 시도로 설정되고 사용자가 2회 시도 실패 후 성공적으로 로그인하는 경우 실패한 시도를 0으로 재설정하려고 합니다. 이렇게 하려면 성공 속성의 재설정을 다음과 같이 간단히 설정할 수 있습니다. 진실:
# settings.py
AXES_RESET_ON_SUCCESS = True
추가 안내가 필요하거나 django-axes에 대해 자세히 알아보려면 다음 문서를 읽어보세요.
https://django-axes.readthedocs.io/en/latest/1_requirements.html
마지막 메모…
Django를 처음부터 배우는 데 관심이 있는 분들은 제 최신 과정을 확인해보세요.
Python Django: Ultimate Beginners Course - 2022
Reference
이 문제에 관하여(Django로 실패한 로그인 시도 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arnopretorius/manage-failed-login-attempts-with-django-35pj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)