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

时间:2011-06-12 09:52:08

标签: php .htaccess password-protection username cpanel

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

网络服务器上有一个文件夹,用户可以将文件上传到(任何类型 - 图像,pdf,.doc等)。我想保护这个文件夹,以防止没有登录的人输入网址并获取这些文件。不允许浏览此文件夹中的文件。

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

当用户登录,同时设置他们的会话变量时,有没有办法 - 使用PHP - 还设置受保护文件夹的用户名/密码 - 所以他们不会被提示? 谢谢。伊恩。

3 个答案:

答案 0 :(得分:0)

我接近这个的方式是他们认为他们访问的受保护文件夹不是实际受保护的文件夹,只会通过PHP与它进行交互,如果他们已经登录(你可以做假的.htaccess)会发生什么通过发送适当的网络验证码,请参阅http://php.net/manual/en/features.http-auth.php

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

简单但有效。

当然要记住,明智的人知道你是否http://user:password@site.com/files自动发送网络身份验证信息。

答案 1 :(得分:0)

我认为你不能从.htaccess级别获得PHP会话变量。

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

答案 2 :(得分:0)

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

您可以使用一个库来创建.htaccess和.htpasswd文件。我从未使用它,所以我不能说它是否有效:Class: PHP Functions Class

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