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


Applying .htaccess folder username/password with PHP

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

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

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

当用户登录并设置会话变量时,有没有办法同时使用PHP设置受保护文件夹的用户名/密码,这样就不会出现提示?非常感谢。伊恩。

我处理这个问题的方式是,他们认为他们访问的受保护文件夹并不是真正的受保护的文件夹,发生的情况是你只能通过PHP与它进行接口,如果他们已经登录(你可以通过发送适当的web身份验证代码来伪造.htaccess,请参阅http://php.net/manual/en/features.http-auth.php)

从那里,如果他们"登录",你可以告诉他们,并向他们显示代码,如果没有,你可以说"你没有登录,如果你想访问这个区域,你需要登录"。

它简单但有效。

当然要记住,明智的人知道如果你这样做http://user:password@site.com/files它自动发送web身份验证信息。

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

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

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

有一个库可用于创建.htaccess和.htpasswd文件。我从来没有用过它,所以我不能说它是否有效:类:PHP函数类

我还记得其他一些只做.htaccess和.htpasswd的库,所以你可能会在互联网上搜索到其他东西。