Brute Force bei LogIn verhindern

CodexX

Grünschnabel
ich würde gerne brute force attacken auf meiner login-seite verhindern indem nach eingabe eines falschen passwortes die nächste überprüfung erst nach ~10sec stattfinden kann.

wie mache ich das am besten?
eine möglichkeit, wäre bei dem benutzer in der datenbank eine extra-spalte anzulegen und dort den zeitpunkt zu speichern, wieder abzufragen und entsprechend handeln.
aber geht das nicht auch einfacher?

wie siehts mit $_SESSION aus? kann ich dort einen zeitpunkt als variable reinschreiben und diesen nutzen? oder ist das zu unsicher? (ein brute force angriff wird wohl kaum über die webseite an sich geschehen sondern üner ein spezielles programm und da weiß ich nicht, wie das mit sessions gehandhabt wird)

oder ganz anders?
 
Ich denke Cookies oder Sessions duerften den Zweck nicht erfuellen.
Denn ein BruteForce-Script/Programm wird wohl kaum Deine Cookies akzeptieren.

Zum einen koenntest Du im Script sowas in der Art machen:
PHP:
if ($login==true)
 {
  //machwas
 }
else
 {
  sleep(10);
  //zurueck zum login
 }
Simple Scripts duerften dadurch schon immes gestoert werden.
Wenn ein Script nun aber immer wieder die Seite direkt aufruft um sich einzuloggen und nicht darauf wartet bis das Login-Script es zum Login zurueckwirft musst Du schon etwas kreativer werden.
Da wuerde ich dazu raten eine extra Tabelle in der DB anzulegen, als Name z.B. failedlogins, mit der IP und dem Timestamp des fehlgeschlagenen Logins.
Wenn nun die Loginseite von dort gespeicherten IP innerhalb von Timestamp+10Sek. aufgerufen wird, dann kommt nur eine Fehlermeldung oder sonstwas. Aber halt nicht das Login.

Nachtrag: Halte Dich bitte an Gross- und Kleinschreibung.
 

Neue Beiträge

Zurück