我有一个设置,使用直接链接无法下载文件,除非使用HTTP身份验证提供用户名/密码。
我想创建一个链接到下载的页面,当访问时,它会设置HTTP用户名和密码,因此用户永远不会看到HTTP身份验证框。 (但是,如果他们试图直接下载文件,他们就不能。)
$_SERVER['PHP_AUTH_USER']
和$_SERVER['PHP_AUTH_PW']
提供了一种阅读但不设置这些值的方法。
答案 0 :(得分:2)
您可以通过在网址中输入用户名和密码来访问HTTP-auth链接:
http://username:password@archive.example.com/path/to/file.zip
请注意,并非所有浏览器都支持此表示法,或者在浏览器中可以对用户进行配置支持。您需要在对您很重要的平台上进行测试。
请注意,您的问题很可能会有更好的解决方案。
答案 1 :(得分:1)
这是一个坏主意!身份验证适用于确保您就是您所说的。相反,您将其用作控制对给定资源的访问的方法。
如果您想强制某人浏览网关页面,请生成随机查询字符串,在匹配时,使用header()
设置HTTP元数据,并fpassthru()
或sendfile()
发送内容。