Ich habe eine Website mit Django erstellt. Benutzer sollten sich anmelden können. Der Login-Ansicht sieht wie folgt aus:Django Login mit Django-Achsen
from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User
....
if request.method == 'POST':
username = request.POST['username']#get username
password = request.POST['txtPwd']# and password
user = authenticate(username=username, password=password) #checking username and pwd
if user is not None:
if user.is_active:
login(request, user)
Aber mit dieser „Lösung“ i nicht eine Brute-Force-Angriff umgehen kann. Also habe ich mich umgesehen und folgendes gefunden: Throttling brute force login attacks in Django
Die erste Antwort war hilfreich. Ich habe Django-Achsen gewählt, weil Django-Rate-Limit nur die Summe der Aufrufe einer Ansicht zählt.
Aber hier ist mein Problem: Wenn ich versuche, mich mit falschem Passwort anzumelden, wird der Fehler nicht gezählt. (Nur im Bereich/admin).
Ich habe keine Option gefunden, um meine Login-Ansicht zu Django-Achsen hinzuzufügen.
So, hier ist meine Frage:
Wie kann ich django-Achsen konfigurieren, dass die fehlgeschlagene Anmeldungen von Anmeldungs-Ansicht zu behandeln?
EDIT: Hier ist meine Einstellungen-Datei:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'axes',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'axes.middleware.FailedLoginMiddleware'
)
...
AXES_LOCK_OUT_AT_FAILURE = False
AXES_USE_USER_AGENT = True
AXES_COOLOFF_TIME = 1
AXES_LOGIN_FAILURE_LIMIT = 50
Wie haben Sie django-Achsen in Ihrem Projekt verwenden? Geben Sie weitere Informationen zu Ihrer Einstellungsdatei an. –
Ok, ich habe die Einstellungsdatei hinzugefügt. Ich weiß nicht wirklich, wie man es benutzt (Dies ist das Hauptproblem). Die Projekt-Website gibt keine Informationen darüber, wie sie für andere Websites verwendet werden kann. – Lee