2016-04-11 4 views
1

Ich versuche, den Zugriff auf wp-login.php und xmlrpc.php für alle Websites auf einem Webserver zu blockieren. Ich möchte das auf Apache-Ebene tun, nicht auf Htaccess.möchte Benutzeragenten nur mit einem Hypen auf Apache-Ebene blockieren, nicht htaccess

Ich habe eine Datei in Conf.d von Apache mit den folgenden, aber wenn eine CURL-Test zeigt es immer noch die Seite.

<Files ~ "^(wp-login|xmlrpc)\.php"> 
     order allow,deny 
     allow from all 
     SetEnvIf User-Agent - bad_user 
     Deny from env=bad_user 
</Files> 

jemand weiß, was ich falsch gemacht habe?

+0

Ihre Konfiguration scheint zu verwenden. Was ist der curl-Befehl, den Sie verwenden? Probieren Sie diesen "curl -I -H" User-Agent aus: - "domain.com/wp-login.php" Dies sollte 403 verboten zurückgeben. – nidhi

+0

@nidhi Ich benutzte curl -A "-" domain/wp-login.php. Bekomme immer noch 200 Antworten. Das gleiche Ergebnis mit dem Befehl curl –

+0

Der Befehl curl, den Sie verwenden, ist in Ordnung und die Konfiguration ist auch korrekt. Sie können diese Zeilen entweder in der Datei "httpd.conf" oder in einer "xxxxx.conf" -Datei unter dem Verzeichnis "conf.d" ablegen. Beachten Sie, ** die Dateierweiterung sollte .conf sein. ** Denken Sie auch daran, Apache neu zu starten, damit Änderungen wirksam werden. – nidhi

Antwort

1

dank @nidhi für die Hilfe. Die Antwort ist die folgende in einer Apache conf.d-Datei zu verwenden zu sein:

SetEnvIf User-Agent "^-$" bad_user 
SetEnvIf User-Agent "^$" bad_user 
<Files ~ "^(wp-login|xmlrpc)\.php"> 
     order allow,deny 
     allow from all 
     Deny from env=bad_user 
</Files> 

Der Code jedes User-Agent blockiert, die leer ist oder nur ein Bindestrich (-), die wp-login zuzugreifen versucht, .php oder xmlrpc.php Stellen Sie sicher, dass Sie die Datei zzzz_blockua.conf so benennen, dass Apache sie zuletzt lädt.

Dies wird helfen, die Belastung auf Ihrem Server zu reduzieren, da Bots, die diese Seiten erreichen, keine php/mysql Prozesse verarbeiten und Apache nur einen 403 Fehler zurückgibt.

Es wirkt sich auf alle Websites auf dem Server, so dass, wenn Sie einen Shared-Hosting-Server haben, brauchen Sie nicht .htaccess für jeden Standort korrekt

Verwandte Themen