• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

XF2.2 config.php Cache für Gäste und Suchmaschinen Bots

SteffenR

Bekanntes Mitglied
Lizenzinhaber
Registriert
30. Apr. 2017
Beiträge
498
Punkte
83
XF Version
  1. 2.2.10 PL1
XF Instanz
Hosting
PHP-Version
8.2.x
MySQL/MariaDB
MariaDB
Provider/Hoster
Infomaniak Schweiz
Meine config schaut so aus.

PHP:
<?php
$config['enableTfa'] = true;
$config['enableGzip'] = true;
$config['cache']['sessions'] = true;

$config['db']['host'] = 'xxxxxxx.com';
$config['db']['port'] = 'xxxxx';
$config['db']['username'] = 'xxxxxx';
$config['db']['password'] = 'xxxxxxx';
$config['db']['dbname'] = 'xxxxxx';

$config['superAdmins'] = '1';

Frage wie ist das eigentlich geregelt mit Cache für Suchmaschinen oder Gästen?
Werden die Suchmaschinen auch im Cache gespeichert? Sollte ich was hinzufügen als Eintrag ?
Danke
 
???

Gerade für Gäste wird gecached, aber freilich auch für registrierte Nutzer nur eben sollten die Cache Einstellungen passen und das nicht nur in der Config.php sondern auch (Apache) in der .htaccess.

Anbei man ein AUSZUG aus einer meiner .htaccess Datein eines meiner Foren:
Code:
## BEGIN Cache-Control Headers (Sekunden)
## 86.400 = 1 Tag, 604.800 = 1 Woche, 2.500.000 = über 1 Monat, 31.500.000 = über 1 Jahr
<ifmodule mod_headers.c>
<filesmatch "\\.(ico|jpe?g|png|gif|swf|apng|woff2)$">
Header set Cache-Control "max-age=31500000, public"
</filesmatch>
<filesmatch "\\.(css)$">
Header set Cache-Control "max-age=2500000, public"
</filesmatch>
<filesmatch "\\.(js)$">
Header set Cache-Control "max-age=2500000, private"
</filesmatch>
<filesmatch "\\.(x?html?)$">
Header set Cache-Control "max-age=60, private, must-revalidate"
</filesmatch>
#<filesmatch "webmaifest.php">
#Header set Cache-Control "max-age=86400, public"
#</filesmatch>
</ifmodule>

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE EU AllowContinent
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AU AllowCountry
    Require env AllowCountry
    Require env AllowContinent
</IfModule>





########################################################
#            .htaccess generatet by CCK GROUP          #
########################################################
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*AhrefsBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BatchFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bot\ mailto:craftbot@yahoo\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Buddy [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Copier [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo\ Pump [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Wonder [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Drip [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Flashget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetSmart [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gotit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HMView [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FindLinks [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ichiro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*curl [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*contype [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*NWSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoeDog [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*bushsniffer [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gigabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*magpie-crawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*mirago [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*seekbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*UnisterBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WiseNutBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*panopta [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MyEngines-Bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Jyxobot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WeatherBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Accoona-AI-Agent [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*trendictionbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*psbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*java [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Cerberian [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Girafabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Xenu\ Link\ Sleuth [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Gigabot [OR]
# RewriteCond %{HTTP_USER_AGENT} ^.*Alexa [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*zspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gonzo1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*iCCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*genieBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*YandexBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Yandex
RewriteRule ^.* - [F]

RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ X.html [L]

<files ~ "\.(zip|gif|jpe?g|png|pdf|mp4|bmp)$">
#ErrorDocument 403 https://www.zetor-forum.de/geklaut.gif
SetEnvIfNoCase Referer "^https://www.zetor-forum.de" local_ref=1
SetEnvIfNoCase Referer "^https://zetor-forum.de" local_ref=1
SetEnvIfNoCase Referer "^https://foto.zetor-forum.de" local_ref=1 
SetEnvIfNoCase Referer ^$ local_ref=1
SetEnvIfNoCase Referer "^http://www.facebook.com" local_ref=1
SetEnvIfNoCase Referer "^http://google.de" local_ref=1
SetEnvIfNoCase Referer "^http://google.com" local_ref=1
SetEnvIfNoCase Referer "^http://developers.google.com" local_ref=1
Order Allow,Deny
Allow from env=local_ref
</files>

Da ist auch was wegen deines Bot-Problems dabei. ;-)
 
???

Gerade für Gäste wird gecached, aber freilich auch für registrierte Nutzer nur eben sollten die Cache Einstellungen passen und das nicht nur in der Config.php sondern auch (Apache) in der .htaccess.

Anbei man ein AUSZUG aus einer meiner .htaccess Datein eines meiner Foren:
Code:
## BEGIN Cache-Control Headers (Sekunden)
## 86.400 = 1 Tag, 604.800 = 1 Woche, 2.500.000 = über 1 Monat, 31.500.000 = über 1 Jahr
<ifmodule mod_headers.c>
<filesmatch "\\.(ico|jpe?g|png|gif|swf|apng|woff2)$">
Header set Cache-Control "max-age=31500000, public"
</filesmatch>
<filesmatch "\\.(css)$">
Header set Cache-Control "max-age=2500000, public"
</filesmatch>
<filesmatch "\\.(js)$">
Header set Cache-Control "max-age=2500000, private"
</filesmatch>
<filesmatch "\\.(x?html?)$">
Header set Cache-Control "max-age=60, private, must-revalidate"
</filesmatch>
#<filesmatch "webmaifest.php">
#Header set Cache-Control "max-age=86400, public"
#</filesmatch>
</ifmodule>

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE EU AllowContinent
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AU AllowCountry
    Require env AllowCountry
    Require env AllowContinent
</IfModule>





########################################################
#            .htaccess generatet by CCK GROUP          #
########################################################
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*AhrefsBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BatchFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bot\ mailto:craftbot@yahoo\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Buddy [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Copier [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo\ Pump [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Wonder [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Drip [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Flashget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetSmart [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gotit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HMView [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FindLinks [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ichiro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*curl [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*contype [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*NWSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoeDog [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*bushsniffer [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gigabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*magpie-crawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*mirago [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*seekbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*UnisterBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WiseNutBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*panopta [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MyEngines-Bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Jyxobot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WeatherBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Accoona-AI-Agent [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*trendictionbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*psbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*java [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Cerberian [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Girafabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Xenu\ Link\ Sleuth [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Gigabot [OR]
# RewriteCond %{HTTP_USER_AGENT} ^.*Alexa [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*zspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gonzo1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*iCCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*genieBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*YandexBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Yandex
RewriteRule ^.* - [F]

RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ X.html [L]

<files ~ "\.(zip|gif|jpe?g|png|pdf|mp4|bmp)$">
#ErrorDocument 403 https://www.zetor-forum.de/geklaut.gif
SetEnvIfNoCase Referer "^https://www.zetor-forum.de" local_ref=1
SetEnvIfNoCase Referer "^https://zetor-forum.de" local_ref=1
SetEnvIfNoCase Referer "^https://foto.zetor-forum.de" local_ref=1
SetEnvIfNoCase Referer ^$ local_ref=1
SetEnvIfNoCase Referer "^http://www.facebook.com" local_ref=1
SetEnvIfNoCase Referer "^http://google.de" local_ref=1
SetEnvIfNoCase Referer "^http://google.com" local_ref=1
SetEnvIfNoCase Referer "^http://developers.google.com" local_ref=1
Order Allow,Deny
Allow from env=local_ref
</files>

Da ist auch was wegen deines Bot-Problems dabei. ;-)
Guten Abend, Otto. :)

Ich will, eigentlich, erst einmal nur die beiden Bots "Bytedance" und Bytespider" aussperren.

Reicht es, wenn ich dann von Dir diesen Eintrag übernehme?

Code:
########################################################
#            .htaccess generatet by CCK GROUP          #
########################################################
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Bytespider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bytedance [OR]
RewriteRule ^.* - [F]

Oder sollte ich am besten gleich Deine ganze Bad-Bot-Liste übernehmen? ^^
Das bläht die .htaccess halt weiter auf.

Was sagt der Experte @Kirby dazu? ;)

Gruß,
Christian
 
Und wäre diese Variante nicht sinnvoller/platzsparender?

Code:
# Block via User Agent <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (Bytedance|Bytespider|AhrefsBot) [NC] RewriteRule (.*) - [F,L] </IfModule>

oder doch besser dieser Variante? ^^

Code:
RewriteCond %{HTTP_USER_AGENT} ^.*(BadBot1|BadBot2|BadBot3|BadBot4|BadBot5).*$ [NC]
RewriteRule ^/?.*$ "http\:\/\/127\.0\.0\.1" [R,L]
 
Im Zweifelsfall den IP-Bereich googeln. In der htaccess kann man mit deny from, gefolgt von der IP, bzw. einem Teil der IP die entsprechenden Bots aussperren.
 
Im Zweifelsfall den IP-Bereich googeln. In der htaccess kann man mit deny from, gefolgt von der IP, bzw. einem Teil der IP die entsprechenden Bots aussperren.
Nutzt Du das zufällig selbst bzw. hast eine passende Condition zur Hand? Dass das auch mit IP-Teilen geht, wusste ich noch gar nicht.
 
Als Beispiel mit den lästigen Bots, die aus einem Rechenzentrum in Singapur agieren:
deny from 47.128

Damit wird alles aus dem IP-Bereich 47.18.x.x abgewiesen. Mit Rewrite Rules eine Umleitung auf eine Fehlerseite ginge natürlich auch.
 
Als Beispiel mit den lästigen Bots, die aus einem Rechenzentrum in Singapur agieren:
deny from 47.128

Damit wird alles aus dem IP-Bereich 47.18.x.x abgewiesen. Mit Rewrite Rules eine Umleitung auf eine Fehlerseite ginge natürlich auch.
Das wäre schon alles?

Ich muss, irgendwo in meiner .htaccess nur...

deny from 47.128

...einfügen?

Ich habe mal schnell gesucht und diese Variante gefunden:

order allow,deny
deny from 255.0.0.0
deny from 123.45.6.7
allow from all


Wozu das order allow, deny und allow from all? Ist das notwendig?


Was hältst Du denn von der Variante die Bots namentlich auszusperren?

Bin da gerade über diese Regel gestolpert (gibt so viele...)

Code:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} badbot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badbot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badbot3
RewriteRule ^(.*)$ - [F,L]
 
Die Bots aus 47.128 haben sich nicht mit Namen „gemeldet“. Das war auch nur ein Beispiel. Für die Bots "Bytedance" und Bytespider" müsstest du aber den oder die IP-Bereiche googeln.
Was hältst Du denn von der Variante die Bots namentlich auszusperren?
Kann man natürlich auch so probieren, wenn die Namen bekannt sind.
 
Gut, ich hatte schon einen Verdacht in diese Richtung. Die habe ich mit deny from 47.128 in der htaccess ausgesperrt.
 
Gut, ich hatte schon einen Verdacht in diese Richtung. Die habe ich mit deny from 47.128 in der htaccess ausgesperrt.
Wie genau hast Du das nun gemacht, Markus?

Wirklich nur eine Zeile mit deny from 47.128 in die htaccess gesetzt? Ist das egal, wo diese Zeile in der Datei platziert wird?

Bei unserem gemeinsamen Hoster habe ich dazu Folgendes gefunden:

Apache-Konfiguration:
<Limit GET POST>
order allow,deny
allow from all
#Mehrere einzelne IPs
deny from 47.128
deny from 1.2.3.5
deny from 4.3.2.1
#Gesamte IP-Adressbereiche
deny from 2.3.4.0/21
</Limit>
 
In vielen Fällen ist das egal.
 
In vielen Fällen ist das egal.
Ok. Verstehst Du das mit den gesamten IP-Adressenbereichen?

Ich versuche es jetzt erst einmal hiermit:

Code:
<Limit GET POST>
order allow,deny
allow from all
#Mehrere einzelne IPs
deny from 47.128
deny from 85.208.96.0
deny from 185.191.171.0
deny from 54.36.148.0
deny from 54.36.149.0
</Limit>

Gehört hinter die 128 nicht noch ein . Punkt?

Darin enthalten sind die IPs von Bytespider, Semrush und Ahrefs, die mit großen "Armeen" unser Forum abgrasen. ^^
 
Oder sollte ich am besten gleich Deine ganze Bad-Bot-Liste übernehmen?
Das ist die Liste meiner Problem-Bots - vermutlich nicht deine. Wenn du nur mit den beiden Probleme hast, dann kürz die Liste auf die beiden und fertig.
Code:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Bytespider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bytesdance
RewriteRule ^.* - [F]
Fertig.

Sperren auf Bot-Netz IP Ebene ist so... la la. Gerade Bad-Bots ändern gern IPs oder IP-Ranges aber deutlich seltener ihren useragent meiner Beobachtung nach.
Außerdem ist die Liste bei IP-Sperren in der Regel auch wieder länger und das wollten wir doch nicht...

GeoIP ist übrigens auch eine sehr nette Möglchkeit die Masse an potenziellen Bots zu limitieren:
Code:
<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE EU AllowContinent
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AU AllowCountry
    Require env AllowCountry
    Require env AllowContinent
</IfModule>
Hier werden Anfragen aus der EU, USA, Kanada, Schweiz und Österreich akzeptiert und alle anderen geblockt (also z.B. China und Russland). Natürlich lässt sich sowas für Bad Bots auch um gehen, aber machen die wenigsten und die wenigen kann man dann noch mal mit dem Useragent dezimieren und was dann noch durch kommt und wirklich nervt könnte man per IP-Block oder mit einer gut eingestellten Firewall noch weiter reduzieren.
GeoIP Blocker gibts auch als Addons von OzzModz oder AndyB als einfache click and block lösungen wenn man die htaccess nicht selber aufpusten möchte.

Ich will damit sagen, ich halte es für optimal die Bots, wenn man nicht nur eine Handvoll zulassen möchte (also Guter Bot A und B darf rein, alle anderen nicht), von einfach nach komplex auszusieben und nicht umgekehrt.
 
Zuletzt bearbeitet:
Es gibt auch immer noch Hoster, die kein GeoIP anbieten…
 
Das ist die Liste meiner Problem-Bots - vermutlich nicht deine. Wenn du nur mit den beiden Probleme hast, dann kürz die Liste auf die beiden und fertig.
Code:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Bytespider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bytesdance
RewriteRule ^.* - [F]
Fertig.

Sperren auf Bot-Netz IP Ebene ist so... la la. Gerade Bad-Bots ändern gern IPs oder IP-Ranges aber deutlich seltener ihren useragent meiner Beobachtung nach.
Außerdem ist die Liste bei IP-Sperren in der Regel auch wieder länger und das wollten wir doch nicht...
Ich habe das jetzt, vorerst, wie folgt gelöst:

Code:
<Limit GET POST>
order allow,deny
allow from all
#Mehrere einzelne IPs
deny from 47.128
deny from 85.208.96.0
deny from 185.191.171.0
deny from 54.36.148.0
deny from 54.36.149.0
</Limit>

Ergebnis: der Spuk war sofort vorüber und das Forum läuft wieder deutlich flüssiger. Mal schauen...zur Not komme ich auf Deinen Vorschlag zurück.
GeoIP ist übrigens auch eine sehr nette Möglchkeit die Masse an potenziellen Bots zu limitieren:
Code:
<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE EU AllowContinent
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AU AllowCountry
    Require env AllowCountry
    Require env AllowContinent
</IfModule>
Hier werden Anfragen aus der EU, USA, Kanada, Schweiz und Österreich akzeptiert und alle anderen geblockt (also z.B. China und Russland). Natürlich lässt sich sowas für Bad Bots auch um gehen, aber machen die wenigsten und die wenigen kann man dann noch mal mit dem Useragent dezimieren und was dann noch durch kommt und wirklich nervt könnte man per IP-Block oder mit einer gut eingestellten Firewall noch weiter reduzieren.
GeoIP Blocker gibts auch als Addons von OzzModz oder AndyB als einfache click and block lösungen wenn man die htaccess nicht selber aufpusten möchte.

Ich will damit sagen, ich halte es für optimal die Bots, wenn man nicht nur eine Handvoll zulassen möchte (also Guter Bot A und B darf rein, alle anderen nicht), von einfach nach komplex auszusieben und nicht umgekehrt.
Gut zu wissen. Danke.

Ich befürchte aber, @mph wird mir diese Option gleich wieder "stehlen" ;) ...
 
So sieht es leider aus. Da ich momentan genug anderes zu tun habe, stelle ich nicht um. Ansonsten würde ich einen Tarif nutzen, bei dem ich mich um verschiedene Dinge selbst kümmern kann. Ich habe ja auch das leidige Thema, dass man Imagick nicht nutzen kann. Die gd lib, die in späteren Versionen einen Patch für ein bestimmtes Darstellungsproblem hat, ist ja seit drei Jahren immer noch nicht aktualisiert worden. Da habe ich schon mehrfach nachgefragt und darauf hingewiesen, dass sie veraltet wäre. Da hieß es zuerst, es wäre alles auf dem aktuellsten Stand und würde mit der von ihnen verwendeten Distribution immer wieder geupdatet. Stimmt so aber nicht, denn in manchen Distributionen sind auch teilweise veraltete Pakete enthalten, die man dann halt eventuell selbst aktualisieren muss. Als ich eine Aufstellung schickte was installiert ist und was die aktuelle Version ist, meinte man, man würde es prüfen. Mit einer späteren Umstellung wurde verschiedenes aktualisiert, die gd lib natürlich nicht. Später hieß es, wenn sie aktualisiert wird, dann würde es sich durch alle möglichen Tarife, Webserver usw. ziehen. Das müsste von höherer Stelle genehmigt werden. Da sich quasi keiner beschwert hätte, soll ich mir aber keine Hoffnungen machen. Bei verschiedenen Problemen hatte ich zwar guten Support aber wenn es um Updates geht, würde ich mich am liebsten selbst drum kümmern dürfen. Aber mir einen Server mit kompletten Rootzugang zu holen, bei dem ich mich dann um wirklich alles kümmern muss, dazu fehlt mir momentan die Zeit und die Lust. Falsch machen darf man ja auch nichts.
 
Zurück
Oben