Robert B.: Gegen Spam, Bots, Referrer die htaccess absichern

Beitrag lesen

Moin Rolf,

ich habe übrigens gerade einmal die access.log-Datei für unser Wiki ausgewertet. Wenn ich darin nach "Bot" suche, was ja typisch für Bots ist die sich im Useragent-String zu erkennen geben, bekomme ich ca 5% der Logdatei als Treffer. D.h. die Anfragen zu sperren, die sich explizit als Bot zu erkennen geben, bringt kaum etwas.

… außer die Bots rufen bevorzugt große oder „schwere“ Ressourcen ab und erzeugen so eine hohe Serverlast.

Log-Ketten wie diese nerven da mehr:

[15/May/2025:03:41:07 +0200] "GET /api.php?action=opensearch&...&search=di&... [15/May/2025:03:41:07 +0200] "GET /api.php?action=opensearch&...&search=dime&... [15/May/2025:03:41:12 +0200] "GET /api.php?action=opensearch&...&search=dimen&... [15/May/2025:03:41:14 +0200] "GET /api.php?action=opensearch&...&search=dimens&... [15/May/2025:03:41:14 +0200] "GET /api.php?action=opensearch&...&search=dimensi&... [15/May/2025:03:41:15 +0200] "GET /api.php?action=opensearch&...&search=dimensio&... [15/May/2025:03:41:15 +0200] "GET /api.php?action=opensearch&...&search=dimension&... [15/May/2025:03:41:16 +0200] "GET /index.php?search=dimension&title=Spezial%3ASuche&...

Diese Requests sind absolut legitim. Es ist "bloß" ein Besucher, der im Suchfeld des Wiki nach "dimension" sucht. Jeder Tastendruck löst einen Server-Request aus, der bis auf die Datenbank muss.

Kann man das in MediaWiki tunen? Aus Sicht der Performance braucht man solche Vorschläge üblicherweise erst anzufordern, wenn

  • mindestens drei Zeichen eingegeben worden sind
  • zwischen zwei Tastendrücken eine bestimmte Mindestzeit vergangen ist und die Eingabe als „abgeschlossen“ betrachtet werden kann.

Viele Grüße
Robert