wordpress - Apache 2.4 - 通过 IP 限制对 wp-login.php 的访问不起作用

标签 wordpress apache

我们使用 Apache 2.4 作为代理,我试图根据 IP 列表阻止对 wp-login.php 的访问。在我的 VHost 中,我有:

<Location />
  ProxyPass http://my_app_server/
  ProxyPassReverse http://my_app_server/
</Location>
<FilesMatch "wp-login\.php|xmlrpc\.php|admin-ajax\.php">
  Require all denied
  Require ip 123.456.789
  Require ip 567.890.123
</FilesMatch>

对于某些叛国罪,它仍然让每个人通过。

关于我的愚蠢在哪里影响这件事有什么想法吗?

提前致谢!

最佳答案

认为应该是这样的:

<FilesMatch "^(wp-login\.php)|(xmlrpc\.php)|(admin-ajax\.php)$">

甚至

<FilesMatch "^(wp-login)|(xmlrpc)|(admin-ajax)\.php$">

但是,这不适用于 ProxyPass。 ProxyPass 优先,因此 FileMatch 位被忽略。因此,这需要在应用程序服务器中完成,而不是在 Apache 中。您可以通过暂时删除 ProxyPass 指令来证明这一点,您会看到它被阻止。

可以使用 ModSecurity 来完成,但是为此安装可能有点过分(尽管 WAF 是保护应用程序服务器的好东西!)。

想不出任何其他方法来解决这个问题。

关于wordpress - Apache 2.4 - 通过 IP 限制对 wp-login.php 的访问不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487034/

相关文章:

apache - PHP : How to code . htaccess 使其无需编辑即可在本地主机和在线上运行

java - 如何用gzip文件就地替换Java

php - 如何使用 .htaccess 仅允许对特定目录的相同域请求?

WordPress:本地主机上的自定义默认头像?

php - 获取自定义 WordPress 数据库的表状态

PHP - Fat Free Framework - 子文件夹中的命名 URL 路由 - 404

java - 连接到本地主机时出现连接错误

javascript - Wordpress:使菜单链接的行为与 "more"按钮相同

CSS - 表单不调整大小

Wordpress - 获取页面/帖子订单号(如果设置)