Apache:.htaccess htpasswd仍然使用满足任何方式在Android上显示网站

时间:2014-04-08 17:43:02

标签: android apache .htaccess .htpasswd

我在.htaccess中有这个要求输入密码但允许某些列入白名单的IP地址而无需身份验证。

Order deny,allow
Deny from all
AuthType basic
AuthName "Admins Only"
AuthUserFile /etc/apache/.htpasswd
Require valid-user
#replace xxx with IP allowed
Allow from xxx.xxx.xxx.xxx
Satisfy any

在RedHat上使用Apache 2.2.16。

这里发生了两件事:

  • 它仍然会向白名单地址询问密码,
  • 当我在Android设备上访问该网站时,我可以看到auth弹出窗口后面的网站,然后当我取消它时,我仍然可以浏览该网站。

是否还有其他人出现类似症状并有建议?

注意:当我删除拒绝,允许和满足规则时,auth按预期工作。

1 个答案:

答案 0 :(得分:1)

事实证明,Satisfy any指令正在其他几个地方得到满足。特别是在我的apache httpd.conf文件中,以及.htaccess的子文件夹中的DocumentRoot

如果您遇到与satisfy any类似的问题,请检查可能调用.htaccess的任何其他可能位置,并注释掉任何Order deny,allowAllow from all语句。使用这些命令的内容帮助我找到问题(在linux中通过ssh):

cd  /www/documentroot && find -name .htaccess

或者

grep -rli 'allow from all' .

(第二个命令将搜索文件,因此需要更多时间)

或者在您的apache配置文件中找到它。请注意,如果为vhost设置了AllowOverride all,则不必更改apache配置。