2016-04-11 11 views
1

Sadece bir hiper düzeyiyle engellemek istiyorum. Bunu apache seviyesinde yapmak istiyorum, htaccess değil.kullanıcı aracılarını, bir web sunucusundaki tüm siteler için değil, wp-login.php ve xmlrpc.php erişimini engellemeye çalışıyorum, htaccess

Apache'nin conf.d dosyasında aşağıdakileri içeren bir dosyam var, ancak CURL sınaması ne zaman yapıldığını gösterir.

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

Neyin yanlış olduğunu bilen var mı? Yardım için @nidhi sayesinde

+0

Yapılandırmanız doğru görünüyor için htaccess kullanmaya gerek yoktur. Kullandığınız curl komutu nedir? Bunu deneyin "curl -I -H" User-Agent: - "domain.com/wp-login.php" Bu 403 yasaklı dönmelidir. – nidhi

+0

@nidhi Curl -A "-" etki alanı/wp-login.php kullanıyordum. Hala 200 yanıt alın. Curl komutunuzla aynı sonuç –

+0

Kullandığınız curl komutu gayet iyi ve yapılandırma da doğru. Bu satırları ya 'httpd.conf' dosyasında ya da' conf.d' dizininin altındaki 'xxxxx.conf' dosyasında bulabilirsiniz. Not, ** dosyanın uzantısı .conf olmalıdır. ** Ayrıca, değişikliklerin yürürlüğe girmesi için apache'yi yeniden başlatmayı da unutmayın. – nidhi

cevap

1

. buraya gelip cevap vermesini bir apache conf.d dosyasında aşağıdaki kullanmaktır:

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> 

boş ya da sadece bir tire olan herhangi bir kullanıcı ajanı engeller kodu - wp-login erişmeye çalışıyor() .php veya xmlrpc.php zzzz_blockua.conf gibi bir dosyaya ad verdiğinizden emin olun, böylece apache en son yükler.

Bu, sunucunuza gelen yüklerin azaltılmasına yardımcı olur, çünkü bu sayfalara vuran botlar php/mysql işlemlerini yapmaz ve apache yalnızca 403 hatası döndürür.

Bu sunucudaki tüm siteleri etkiler, dolayısıyla paylaşılan barındırma sunucusu varsa, her site

İlgili konular