我正在尝试通过.htaccess文件使用摘要式身份验证保护文件夹:
AuthType Digest
AuthName "Restricted Area"
AuthUserFile /web/htdocs/www.domain.com/.../.htdigest
Require valid-user我已经用命令"htdigest“创建了密码文件。在我的本地服务器上一切正常...但不在我的远程服务器(托管网站)上!即使我输入了正确的密码,浏览器也会显示登录面板!
在远程服务器上,PHP是作为CGI运行的,而不是作为Apache的一个模块。这应该是原因吗?有什么变通方法吗?
使用.htaccess的基本身份验证在同一远程服务器上工作得很好!
发布于 2009-10-26 17:06:06
上面的代码缺少the documentation所说的AuthDigestDomain指令:
此指令应始终指定,并且至少包含此空间的(组)根URI。忽略此操作将导致客户端为发送到此服务器的每个请求发送Authorization标头。除了增加请求的大小外,如果启用了AuthDigestNcCheck,还可能对性能产生不利影响。
但是,通过启用Apache模块mod_auth_digest而不是模块mod_digest,我确实解决了这个问题。
发布于 2009-10-12 10:41:33
如果脚本是以CGI身份运行的,这意味着它是以本地用户身份运行的,而不是以www身份运行,这可能就是问题所在。CGI是唯一的选择吗?
https://stackoverflow.com/questions/1553844
复制相似问题