【发布时间】:2015-02-08 08:22:12
【问题描述】:
我有一个包含不同用户组的网站。每个用户组都有他们可以访问的不同页面。这些页面可以包含指向文件(文档、pdf 等)的链接。每个组现在应该只能访问组特定文件夹中的文档。
完成这项工作的最佳做法是什么?出现以下情况:
- 对所有上传的文件生成一个Hash,并根据该hash命名文件,这样就不能被 尝试并限制目录的显示。 (问题:链接可以共享,文件可以被公众访问)
- 使用 .htaccess 文件限制访问(问题:用户每次都必须输入密码,并且 cms 可以链接到 .htaccess 文件 - 不是动态的)
- 使用 .htaccess 检查 cookie 是否存在,例如http://www.willmaster.com/blog/contentprotection/htaccess-cookie.php(问题:如果我创建新用户组,则不是动态的)
这个问题的最佳解决方案是什么?是上面提到的吗?
【问题讨论】:
-
将它们移出网络文件夹
-
我应该如何访问它们并通过 cms 上传?此外,这些组也不会是动态的。
-
如果您将文件移到 web 文件夹之外,那么您的 web 文件夹中有一个
fileAccess脚本,用于验证用户是否有权访问他们在发送之前请求的文件通过readfile()访问他们的浏览器 -
谢谢!是否可以使用 CMS 将文件上传到不可访问的位置?是否可以根据在 CMS 中创建的组来编辑此 fileAccess 文件?我不这么认为?!
-
是的,这是完全可能的,上传的文件可以放置在网络服务器用户可以访问的服务器文件系统中的任何位置,而不仅仅是在网络根目录下
标签: php apache .htaccess cookies