从PHP设置HTTP用户名/密码

从PHP设置HTTP用户名/密码,php,apache,http,permissions,Php,Apache,Http,Permissions,我有一个无法使用直接链接下载文件的设置,除非使用HTTP身份验证提供用户名/密码 我想创建一个链接到下载的页面,当访问该页面时,设置HTTP用户名和密码,这样用户就不会看到HTTP身份验证框。(但是,如果他们试图直接下载该文件,则无法下载。) $\u服务器['PHP\u AUTH\u USER']和$\u服务器['PHP\u AUTH\u PW']提供了一种读取但不设置这些值的方法。您可以通过在URL中放置用户名和密码来访问HTTP AUTH链接: http://username:passwor

我有一个无法使用直接链接下载文件的设置,除非使用HTTP身份验证提供用户名/密码

我想创建一个链接到下载的页面,当访问该页面时,设置HTTP用户名和密码,这样用户就不会看到HTTP身份验证框。(但是,如果他们试图直接下载该文件,则无法下载。)


$\u服务器['PHP\u AUTH\u USER']
$\u服务器['PHP\u AUTH\u PW']
提供了一种读取但不设置这些值的方法。

您可以通过在URL中放置用户名和密码来访问HTTP AUTH链接:

http://username:password@archive.example.com/path/to/file.zip
请注意,并非所有浏览器都支持此符号,或者用户可以在浏览器中配置对其的支持。您需要在对您很重要的平台上进行测试


请注意,您的问题很可能有更好的解决方案。

这是个坏主意!身份验证是为了确保你是你所说的人。相反,您使用它作为一种方法来控制对给定资源的访问


如果要强制某人浏览网关页面,请生成一个随机查询字符串,当匹配时,使用
header()
设置HTTP元数据,并使用
fpassthru()
sendfile()
发送内容。

如果您似乎不关心文件是否受到实际保护,为什么不移动这些文件呢?等等。所以你想让每个人都验证自己。。。但是你也希望每个访问你网站的人都能被自动认证?这样做的意义何在?可能文件存档是在不同的服务器上维护的,而不是将在其上进行身份验证的基于PHP的系统。或者可能其目的是只允许以前访问过各种登录页面(设置用户名/密码)的用户进行下载访问。我认为这个问题需要澄清。这个问题需要澄清。我真的不认为有比不使用HTTP身份验证更好的解决方案。这看起来是一个很有希望的解决方案,但ie阻止了它,firefox提出了一个警告。几年前,有人发现你可以创建一个像这样的url,人们会点击这个链接,相信它会指向美国银行的网站。@Sleet-Sleet-这就是为什么我警告说它需要在你的环境中测试的原因。在不知道这是为了在互联网上的公共消费还是在总是使用静态Firefox配置的公司网络上的有限访问时,我能提供的最好的警告就是。当然,“我该怎么做”的最佳答案是Joshua的回答:“不要。”