Bad Bots via htaccess oder robots.txt aussperren

Hallo alle zusammen,

ich versuche bisher erfolglos unerwünschte Bots auf unserer Seite auszusperren. Erst habe ich es mit der robots.txt mit Folgenden versucht:

 User-agent: MJ12bot Disallow: /

etc. Dies hat nicht funktioniert, daher habe ich es nun mit der htaccess versucht. Da steht Folgendes:

RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^BaiDuSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Sogou [OR]
RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Yandex
RewriteRule ^.* - [F,L]

Leider hält auch das die unerwünschten Bots nicht fern und sie crawlen fleißig weiter. Habt ihr eine Idee oder steckt ein Fehler in der htaccess?

 

Wie kommst Du überhaupt drauf, dass die überhaupt was abhält ? Smile

versuchs mal damit: 

	# SetEnvIfNoCase User-Agent ^$ keep_out
	SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep_out
	
		Order Allow,Deny
		Allow from all
		Deny from env=keep_out

den entsprechenden bot natürlich dazu eintragen; Achtung: keine Gewähr dass es die bots auch abhält!

und Datensicherung nicht vergessen.

Ansonsten hilft nur Sperrren der jeweiligen IP´s, was aber sehr zeitaufwendig sein kann.

Ein Bot lässt sich nicht von irgendeiner robot.txt abhalten.

Ein effektives Blocken von Bots wäre simpel bspw. auch via Cloudflare.

Die IP`s der einzelnen Bots blocken geht natürlich immer, aber diese ändern sich ja bei “bösen” sowieso täglich.

Hallo pram16359,

versuch es mal hiermit: Ich vermute deine RewriteRule ist der Übeltäter.

RewriteEngine On

RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]

RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^BaiDuSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Sogou [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Yandex [NC,OR]
RewriteRule .* - [F]

 

Falls Du nginx nutzt, schau’ Dir mal das hier an: https://www.howtoforge.com/nginx-how-to-block-exploits-sql-injections-file-injections-spam-user-agents-etc

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

@RobKot schrieb:

Hallo pram16359,

versuch es mal hiermit: Ich vermute deine RewriteRule ist der Übeltäter.

RewriteEngine On

RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]

RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^BaiDuSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Sogou [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Yandex [NC,OR]
RewriteRule .* - [F]

 

 

 

Hallo RobKot,

bei deiner Version fehlt in der letzten Zeile ein ^ vor dem .* oder? Und in der vorletzten Zeile muss das OR weg oder? Leider hält das bisher nur den Sogou Spider ab. Alle anderen interessiert das offenbar nicht :frowning: