如何使用密码保护目录但仍然允许用户访问

时间:2009-09-23 01:05:04

标签: php mysql security password-protection

我正在为我的网站创建一个PHP脚本,允许我的客户登录他们的客户帐户并查看我为他们上传的文件列表。然后他们可以下载它们而无需重新登录或重新输入密码。

我想保持安全,所以如果他们知道客户名称,任何人都无法进入并下载文件。

我已经尝试过.htacccess,保护文件夹等等。但它似乎无法正常工作。我已经编写了客户端登录脚本,让他们登录并查看其目录中的文件列表,但我无法让他们右键单击下载而无需登录。

这里可以看到类似的东西: http://forums.cgsociety.org/showthread.php?f=76&t=808482

在第二篇文章中,如果您尝试单击delete.jpg,它将不允许您在未登录的情况下下载它。我希望我的网站具有此类似功能。

该站点是用PHP创建的,带有MySQL数据库。

2 个答案:

答案 0 :(得分:1)

文件夹本身应该具有安全权限设置,常规用户无权访问它,只有用户运行PHP进程。

您的PHP脚本充当实际文件系统的直通。用户无权查看文件列表,但您的脚本可以。用户无权访问文件,但您的脚本会这样做,您可以将它们打开为二进制文件并将数据写出来发送给用户。

对PHP文件下载器进行一些研究,这是相当标准的行为。

答案 1 :(得分:0)

您可以使用Cookie表示用户之前已经访问过并经过身份验证。使cookie的值相当随机,因此无法猜到。我会对username . timestamp进行加密并使用用户名存储username_token,这样您就可以为人们提供时间并强制他们登录,如果您愿意,可以稍后再登录。

然后,将文件移出webapp目录,并有一个cgi程序,它将显示目录中的文件,并允许他们下载它们。

通过这种方式,您可以控制人们看到的内容以及允许的操作。

相关问题