【发布时间】:2019-10-21 20:44:40
【问题描述】:
我想使用.htaccess 和.htpasswd 文件来保护对网站的访问。
以下代码在访问mysite.com 时成功调出身份验证对话框。但是当访问mysite.com/index.html 时,不会出现auth 对话框,并且可以在没有保护的情况下访问该网站。
.htaccess
AuthUserFile /path/to/.htpasswd
AuthType Basic
AuthName "Password Protected"
Require valid-user
我需要进行哪些更改才能确保 mysite.com/index.html 也受到保护?
我已尝试添加:
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
还有:
<Files "index.html">
Require valid-user
</Files>
对问题没有任何影响。
【问题讨论】:
-
您在 .htaccess 中拥有的东西应该已经可以自己实现了。我猜您的“问题”只是您在访问
mysite.com时已经输入了凭据?浏览器会记住这些凭据,直到它关闭,并自动将它们发送给来自同一领域的任何其他 URL……尝试在新的私有选项卡中打开mysite.com/index.html,然后看看会发生什么。 -
不,已经试过了。
-
根据您显示的那几行 .htaccess 代码,它没有理由表现得那样。
-
我已经尝试过私有 Chrome 窗口,它允许我访问 index.html 而无需 auth pop.up。但是,在 Firefox 和 Safari 中,我确实得到了 index.html 的弹出窗口,但该站点已经在它后面加载了。
-
这听起来好像是您嵌入 index.html 的某些资源在 FF 和 Safari 中触发了这个,而不是主文档本身。
标签: php html apache .htaccess .htpasswd