使用PHP应用.htaccess文件夹用户名/密码

使用PHP应用.htaccess文件夹用户名/密码,php,.htaccess,password-protection,cpanel,Php,.htaccess,Password Protection,Cpanel,我正在构建一个PHP/MySQL web应用程序。用户登录并设置各种会话变量 Web服务器上有一个文件夹,用户可以将文件上载到其中(任何类型–图像、pdf、.doc等)。我想保护此文件夹,以防止未登录的用户键入url并访问这些文件。不允许浏览此文件夹中的文件 我可以使用我的cpanel应用密码,这很好。但是,这意味着用户必须登录到应用程序,当他们第一次导航到此受保护文件夹中的文件时,系统会提示他们输入受保护文件夹的用户名/密码。我想让他们不必输入受保护文件夹的用户名/密码 当用户登录并设置会话变

我正在构建一个PHP/MySQL web应用程序。用户登录并设置各种会话变量

Web服务器上有一个文件夹,用户可以将文件上载到其中(任何类型–图像、pdf、.doc等)。我想保护此文件夹,以防止未登录的用户键入url并访问这些文件。不允许浏览此文件夹中的文件

我可以使用我的cpanel应用密码,这很好。但是,这意味着用户必须登录到应用程序,当他们第一次导航到此受保护文件夹中的文件时,系统会提示他们输入受保护文件夹的用户名/密码。我想让他们不必输入受保护文件夹的用户名/密码

当用户登录并设置会话变量时,是否有办法同时使用PHP设置受保护文件夹的用户名/密码,从而不提示用户?
非常感谢。Iain.

我的做法是,他们认为他们访问的受保护文件夹不是实际的受保护文件夹,发生的情况是,你只能通过PHP与它进行交互,如果他们已经登录(你可以通过发送适当的web身份验证代码来伪造.htaccess,请参阅)

从那里,如果他们“登录”,你可以告诉他们,他们可以显示代码,如果没有,你可以说“你没有登录,如果你想访问此区域,你将需要登录”

它简单但有效


当然,请记住,明智的人知道,如果您这样做,就会自动发送web身份验证信息。

我认为您无法从
.htaccess
级别获取PHP会话变量


您可以做的是重写对PHP脚本的任何访问,该脚本检查登录的用户,然后返回文件或重定向到“未登录”页面。

我几年前就这样做了,但它在cpanel上运行得非常好:我以编程方式调用了cpanel的目录保护设置页面,并在那里添加了用户名/密码。所以cpanel负责服务器管理。然而,我不知道这是否仍然有效

有一个库可用于创建.htaccess和.htpasswd文件。我从未使用过它,因此我不能说它是否有效:


我还记得其他一些库,它们只提供.htaccess和.htpasswd内容,因此您可以通过搜索internet找到其他内容。

谢谢您的回复,但我不太明白。我看了一下http认证页面链接。是否可以在页面加载时设置$_SERVER['PHP_AUTH_USER']和$_SERVER['PHP_AUTH_PW']的值,这样就不会提示用户输入受保护的文件夹用户/PW?我不知道你可以将user/pw添加到url中-弹出窗口上关于它们以纯文本形式发送的警告现在有意义了!我认为这可能是答案,将user/pw添加到从php页面单击的URL中-但是它在IE中不起作用。我想这取决于您如何检查用户名/密码,但是,它应该起作用。它当然应该阻止用户名/密码提示。同样适用于通过IE的ftp。