z.B so:
# BEGIN Unbekannte Bots blockieren
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(agent1|agent2|agent3).*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*example\.com.*$ [NC,OR]
RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.89$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule ^.* - [F,L]
</IfModule>
# END Unbekannte Bots blockieren
Hier ist eine Erläuterung der Regeln:
RewriteEngine On
: Aktiviert das Modul mod_rewrite
.RewriteCond %{HTTP_USER_AGENT} ^.*(agent1|agent2|agent3).*$ [NC,OR]
: Diese Zeile prüft den User-Agent-String der Anfrage und blockiert den Zugriff, wenn er einen der angegebenen Werte enthält. NC
steht für "nicht beachten der Groß-/Kleinschreibung", und OR
bedeutet, dass eine der Bedingungen erfüllt sein muss.RewriteCond %{HTTP_REFERER} ^.*example\.com.*$ [NC,OR]
: Blockiert Zugriffe, die als Referrer "example.com" enthalten. Auch hier bedeutet NC
, dass die Groß-/Kleinschreibung ignoriert wird.RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.89$ [OR]
: Blockiert Zugriffe von der angegebenen IP-Adresse.RewriteCond %{HTTP_USER_AGENT} ^$
: Blockiert Zugriffe ohne User-Agent-Header.RewriteRule ^.* - [F,L]
: Für alle Anfragen, die den vorherigen Bedingungen entsprechen, wird ein HTTP-403-Verbot-Status zurückgegeben ([F]
) und die Verarbeitung der Regeln wird beendet ([L]
).
Du musst sicherstellen, dass Sie die Platzhalter wie "agent1", "agent2" usw. durch die tatsächlichen User-Agent-Strings der Bots ersetzen, die du blockieren möchtest. Außerdem solltest du die IP-Adresse und den Referrer entsprechend anpassen. Du musst dir aber bewußt sein, dass diese Methode keine vollständige Sicherheit bietet und legitime Bots möglicherweise ebenfalls blockiert werden könnten.
BTW: du solltest jetzt eher mal auf J4 bzw.5 migrieren.