htaccess 目录保护不再起作用?

htaccess 目录保护不再起作用?

不幸的是我的 wp-login.php 保护不再起作用:

<Files wp-login.php>
AuthName "Forbidden access"
Require ip 1xx.xxx.xx.x/24
</Files>

这是apache的信息:

Server version: Apache/2.4.10 (Debian)
Server built:   Aug 28 2015 16:28:08

错误日志未显示任何内容:-(

答案1

Apache 基本身份验证

如果您想添加身份验证:

<Location ~ "wp-login.php">
    AuthName "Auth Name You Want"
    AuthType Basic
    AuthUserFile /opt/web/.htpasswd
    Require valid-user
</Location>

或者

<Files "wp-login.php">
    AuthName "Auth Name You Want"
    AuthType Basic
    AuthUserFile /opt/web/.htpasswd
    Require valid-user
</Files>

来源:https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html

Apache IP 限制

如果你只想允许一个 IP

<Location ~ "wp-login.php">
    Require ip w.x.y.z
</Location>

或者

<Files "wp-login.php">
    Require ip w.x.y.z
</Files>

来源:https://httpd.apache.org/docs/2.4/fr/howto/access.html

关于 Apache 2.4

供参考,此语法在 apache 2.4 上不再使用

order allow,deny
allow from all

它已被取代

Require all granted

资料来源:https://httpd.apache.org/docs/2.4/fr/howto/access.html

在你的情况下

如果你想在 .htaccess 中添加身份验证 + IP 限制

<Files "wp-login.php">
    <RequireAll>
        AuthName "Auth Name You Want"
        AuthType Basic
        AuthUserFile /opt/web/.htpasswd
        Require valid-user
        Require ip w.x.y.z/24
   </RequireAll>
</Files>

我正在考虑你的 IP 掩码是否正确

关于的信息RequireAllhttps://httpd.apache.org/docs/2.4/fr/mod/mod_authz_core.html#requireall

答案2

我在使用 apache 2.4 时遇到了同样的问题,我的解决方案如下:

<Files wp-login.php>
    AuthName "Forbidden access"
    Order Allow,Deny
    Allow from all
</Files>
Allow from 1xx.xxx.xx.x/24
Deny from all

相关内容