通过 .htaccess 文件限制对 Wordpress 登录的访问不会阻止任何人

Limiting access to Wordpress login through the .htaccess file is not blocking anyone

我一直在尝试通过 .htaccess 文件为我的 Wordpress 站点编辑规则。我尝试了几种不同的选择但没有运气。我的目标是使 wp-login.php 页面只能由特定的 IP 地址列表访问。我尝试过的每种方法都没有结果,这意味着即使我输入了一个伪造的 IP 地址作为唯一允许访问的 IP 地址,我仍然可以从任何设备访问该页面。

这些是我试过的方法:

将其添加到根 .htaccess 文件

<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx
</Files>

并将此添加到 wp-admin .htaccess 文件

Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx

我也在 wp-admin .htaccess 文件中尝试过:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist IP address
allow from xx.xx.xx.xxx
</LIMIT>

根 .htaccess 文件中的此选项:

# BEGIN wp-admin restriction based on IP address
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.1$
RewriteRule ^(.*)$ - [R=403,L]
# END IP restriction

我对 .htaccess 规则不是很熟悉。这些选项中的每一个都在文件的开头和结尾进行了尝试。文件中唯一的其他代码是:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

对我做错了什么有什么想法吗?

致 运行 关注此问题的任何其他人。我始终无法使 .htaccess 文件正常工作。我尝试将访问规则添加到 web.config 文件中,但也遇到了一些问题,但我最终找到了一种使用 IP 地址和域限制通过 IIS 管理器添加访问规则的方法。我确实必须安装该功能,因为它不在我的选项列表中,但它立即工作,我注意到在安装它之后,对我的 web.config 文件进行更改也开始工作。