通过IP地址限制对wp-login.php的访问

时间:2019-01-10 18:10:06

标签: .htaccess

我已经在线研究了此主题,但我不知道如何使它起作用(现在已经工作了一个星期)。我尝试了几种不同的代码块,但到目前为止没有任何效果。我可以在实时IP流量中看到,除我以外的其他人访问wp-login.php时都收到HTTP 200。此外,当我尝试注销然后重新登录时,我被HTTP 403错误阻止。

作为一个例子,假设我要限制对123.123.123.123(IPv4)和1.2.3.4(使我的DNS变得模糊的服务,如Cloudflare)的访问。我尝试了以下代码:

<Files wp-login.php>
order allow,deny
deny from all
allow from 123.123.123.123
allow from 1.2.3.4
</Files> 

<Files wp-login.php>
order deny,allow
allow from 123.123.123.123
allow from 1.2.3.4
deny from all
</Files>

RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$ RewriteRule ^(.*)$ - [R=403,L] {REMOTE_ADDR} !^1\.2\.3\.4$ RewriteRule ^(.*)$ - [R=403,L]

<Files wp-login.php>
Require ip 123.123.123.123
Require ip 1.2.3.4
</Files>

这是一台Apache 2.4.10服务器,我在这里和其他地方都看到不赞成使用该命令拒绝规则,因此我想我应该避免使用这些规则。我已经看到我应该在哪里使用“ Require”,但即使这样也不起作用。我不确定问题是否出在我的代码不正确和/或我需要在其白名单中添加所有Cloudflare IP地址,因为它们可能使用动态IP地址?

在此先感谢您的帮助!

0 个答案:

没有答案