.htaccess/.htpasswd 如果位于某个 IP 地址则绕过

标签 .htaccess apache2 basic-authentication

是否可以为给定目录设置 .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/

相关文章:

java - 如何获得在 WebSphere 上运行的基本身份验证?

wordpress - htaccess 重新定位 url 的一部分

php - Apache 在大型 PHP 文件中出现 $_SESSION 变量的奇怪行为

javascript - 具有基本身份验证的 Vue 资源

.htaccess - SetEnvIf HTTP_HOST 不工作

mod-rewrite - Apache 2.2 将 HTTP 请求方法从 POST 更改为 GET

apache:重写前的基本身份验证

.htaccess - 当新页面具有相同的 url 结构时进行 301 重定向

javascript - php 隐藏 url 参数但仍想获取这些参数的值

php - 如何在 .htaccess 文件中禁用 PHP 中的通知和警告?