是否可以为给定目录设置 .htaccess/.htpasswd 访问控制,但如果它们来自特定 IP 地址,则绕过登录/密码身份验证?
我知道您可以在 .htaccess 文件中执行类似的操作:
order deny,allow
deny from all
allow from 000.000.000.000
但是如果您按照以下方式添加一些内容:
AuthType Basic
AuthName "restricted area"
AuthUserFile /path/to/.htpasswd
require valid-user
然后它会提示输入密码。有没有办法进行 if/else 类型设置或其他解决方案,以便给定 IP(或 IP 集)的用户不会收到输入密码的提示,但其他人都会收到密码?
最佳答案
对于版本 2.2.X,您可以使用以下...
AuthUserFile /var/www/mysite/.htpasswd
AuthName "Please Log In"
AuthType Basic
require valid-user
Order allow,deny
Allow from xxx.xxx.xxx.xxx
satisfy any
显然,请替换您的用户文件的路径和您想要绕过身份验证的 IP 地址。
具体细节的进一步说明,可参见:http://httpd.apache.org/docs/2.2/howto/auth.html
关于.htaccess/.htpasswd 如果位于某个 IP 地址则绕过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419592/