0

我一直在尝试创建一个允许用户上传 Word 文档的网站。然后这些文档将存储在该网站的公共目录中。问题是,我不希望每个人都访问上传的文件.. 我想检查他们是否先登录,以及他们是否是“授权用户”.. 说他们的帐户级别是否为 50 或更高,然后他们被允许打开目录..

无论如何我可以通过 .htaccess 做到这一点?..还是有更好的解决方案?

我不知道这是不是一个愚蠢的问题,但请帮助我。我非常感谢我现在能得到的任何帮助。

笔记:

抱歉之前没有提到,但我实际上想使用谷歌文档来查看这些文档,以便将它们嵌入到我的网站中。

4

2 回答 2

2

听起来您正在采取将公共文档目录放在 Web 根目录下某处的方法。出于多种原因(安全性、可移植性、可维护性),这不是最好的方法。

这是一种快速而简单的方法(我假设您已经在使用数据库或其他存储凭据的方式处理用户身份验证):

  1. 将文档目录放在 Web 根目录之外的某个位置。
  2. 创建一个函数(或类)来读取文档目录中的文件列表(查看scandir()http://www.php.net/manual/en/function.scandir.php
  3. 创建一个页面,显示读取文档目录的结果。每个文件都应该是指向页面的链接以及指示文件的 URL 参数。在此页面中,在向用户显示文件列表之前检查用户的凭据。
  4. 在文件列表页面指向的页面中,检查以确保所请求的文件存在于文档目录中(不要忘记再次检查以确保用户具有必要的凭据!),然后读取该文件并推送它给用户。请参阅readfile()http://php.net/manual/en/function.readfile.php),在设置各种标题字段的示例中特别注意。
于 2013-02-21T03:07:29.650 回答
0

您可能希望使用数据库(MySQL?)和 PHP 会话来检查:

  1. 用户已成功登录(数据库中的凭据)
  2. 用户拥有“50 级”或更高级别if($level >= 50)
  3. 当用户在页面之间移动时,使用会话和会话变量来创建持久的身份验证密钥。
  4. 您不需要为此使用 .htaccess 文件。
于 2013-02-21T02:46:14.183 回答