Wir haben folgenden Anwendungsfall erstellen:Richtiger Weg Brute-Force-Angriffe zu dokumentieren und zu protokollieren, wenn ein Benutzerkonto
Benutzer können sie für ein Business-Konto anmelden, indem eine Validierung Form mit ihrer ID Füllung, Vor-, Nachnamen und Geburtsdatum ID ist etwas, das nur der Benutzer im Voraus weiß. Die Benutzer haben 5 Versuche, alle ihre Informationen zu entsprechen
Wir planen ein paar Tabellen in einer Datenbank zu halten, in dem speichern wir die Validierung
Table 1 columns: id, attempts
Table 2 columns: id, fname, lname, dob
Tabelle 1 und 2 versucht eine Eins-Beziehung . Hier ist ein Beispiel, was passiert, wenn der Benutzer versucht, den Vornamen, den Nachnamen und dob 5 mal zu erraten, bevor er gesperrt ist. Die Anwendung überprüft die Spalte Versuche der Tabelle 1, und wenn sie für eine bestimmte ID 5 oder mehr als 5 ist, wird das Benutzerkonto (mit dieser spezifischen ID) als gesperrt behandelt.
table 1
id attempts
1234 5
table 2
id fname lname dob
1234 john doe 19900101
1234 jane doe 19900101
1234 jason doe 19900101
1234 john dae 20010102
1234 roger smith 19960101
Das Problem mit dem obigen Ansatz ist, dass wir nur die fehlgeschlagenen Versuche von ID verfolgen. Was passiert, wenn der Benutzer versucht, die ID und den Angriff zu ändern? indem Sie den Vornamen, den Nachnamen und den Namen beibehalten und die ID erraten?
Vielleicht muss ich das Design der Validierungstabelle und meinen Ansatz zu überdenken, um das Problem des Benutzers versuchen, ID zu erraten ?? Oder gibt es eine bessere Möglichkeit, über dieses Problem nachzudenken?
Edit: Dies ist eine REST API-URL mit einem Front-End-Client. Captcha könnte also die API nicht schützen ??
Meine ist eine REST Api. Ich habe gerade die Frage mit diesen Informationen aktualisiert. Da ein Captcha eine Formulareinreichung verhindert, wie kann ich die REST API abschirmen? – user6123723