.htaccess Zugriffsversuche limitieren?

Hab ich mich die letzten 2 Tage etwas mit .htaccess beschäftigt. Leider habe ich immer noch nicht rausgefunden, wie ich die Zugriffsversuche bei Passworteingaben limitieren kann. Beim IE kann ich max. 3 mal versuchen das richtige Passwort einzugeben und bei FireFox bzw. Opera habe ich soviele Versuche wie ich will. Gibt es da eine Anweisung die ich direkt in die .htaccess-Datei schreiben kann oder muss ich das in den Servereinstellungen einstellen? Ist es überhaupt möglich die Zugriffsversuche über eine Einstellung von meiner Seite (Server) aus zu limitieren oder ist das einfach nur Browserspezifisch?
 
Apache bietet diese Option leider nicht.
Du könntest aber ein kleines PHP-Script schreiben und die IP-Adresse für 24 Stunden sperren?
 
Wenn man Shell-Zugriff hat, könnte man dies mit fail2ban realisieren. Das durchsucht die entsprechenden Logs und bannt die IPs dann für eine entsprechende Zeit über iptables.
 
Wäre ja auch zu einfach gewesen, wenn mal etwas direkt so funktioniert hätte. Trotzdem danke für die schnelle Antwort.
 
authn_dbd funktioniert auch mit SQLite, Oracle oder PGSQL.
Aber in der Regel ist bei einem PHP-Webspace mindestens eine SQL-Datenbank sowieso schon drin ;)

Desweiteren, funktioniert die authn_dbd-Methode auch auf Webspaces ohne PHP :)

MFG - Keks :)
 
Sofern der Apache auf einem Linux-Rechner läuft, kann man auch einfach fail2ban nutzen um die Loginversuche zu limitieren.
 
Wen's interessiert:
Etwas mehr als 5 Zeilen...

PHP:
$IP_LOCK_EINTRAEGE = file('/blabla/.ip-lock');
$ZAHL_DER_EINTRAEGE = count($IP_LOCK_EINTRAEGE);

for($zeile = 0; $zeile < $ZAHL_DER_EINTRAEGE ; ++$zeile)
{
	preg_match('/([0-9.]+)(\s\d+)/', $IP_LOCK_EINTRAEGE[$zeile], $gefiltert);

	if( $gefiltert[2] < $_SERVER['REQUEST_TIME'] ) $IP_LOCK_EINTRAEGE[$zeile] = '';
	   elseif( $gefiltert[1] == $_SERVER['REMOTE_ADDR'] ) { $IP_SPERRE = TRUE; break; }
}

file_put_contents('/blabla/.ip-lock', $IP_LOCK_EINTRAEGE);

// EINTRAG SCHREIBEN

$SPERRZEIT = $_SERVER['REQUEST_TIME']+86400; // unixtime+sekunden = Sperrzeit (24h)
			file_put_contents('/blabla/.ip-lock', $_SERVER['REMOTE_ADDR']." $SPERRZEIT\n", FILE_APPEND);
 
Zurück
Oben