我想用会话身份验证保护一些文件。有些文件可以由用户查看,有些则不能。
我已经用mod_rewrite和readfile()实现了一个解决方案。我的问题是,这个函数将使用大量的内存,当更多的用户下载文件时,服务器就会宕机。
我尝试过这样做: 1)通过php处理程序传递一个文件,并使用prepend函数。它不起作用,因为当预先发送的php文件完成处理时,处理程序会处理该文件,在我的例子中,处理程序因为无效的ASCII字符而被阻塞。我无法阻止处理程序进行处理,但输出了文件。2)将会话、ip和文件夹名放在一个临时文件中,这个文件是我试图在nginx.conf中检查的,不会被重写。我失败了,因为我无法将nginx中的文件夹名提取到一个变量中。
我该如何解决这个问题?有没有人有建议?
谢谢
发布于 2012-09-23 06:54:40
如果我没理解错的话,你是想创建一个只允许授权用户查看某些文件,而允许其他用户查看其他文件的系统。
如果我的理解是正确的,那么我会亲自将文件存储在根目录之上或安全的位置,然后在URL中具有唯一标识符的访问脚本(例如fetch_file.php) (例如fetch_file.php?uid=1234)。
如果用户被授权访问唯一id为1234的文件,则从数据库中的位置详细信息提供该文件,否则拒绝该请求。
这样,如果没有正确的权限,用户就不能访问该文件,因为它被安全地存储在不应该从互联网访问的根目录之上。
https://stackoverflow.com/questions/12548264
复制相似问题