我将尝试弄清楚如何保护目录免遭未经授权或未经授权的用户下载文件。 提前致谢。
最佳答案
找不到很好的副本,但稍微搜索一下就会得到这样的结果 PHP protect a folder
有一种简单的方法可以使用 php.ini 基于 PHP session 授权来限制文件夹访问。它需要为有效的授权 session 创建 stub 文件(并自动删除它们)。在 PHP 中,您可以:
if ($user_has_permission_to_download)
{
touch("tmp/access-" . session_id());
}
然后一个简单的 rewriterule+rewritecond 就可以用于授权:
RewriteCond %{HTTP_COOKIE} PHPSESSID=(\w+)
RewriteCond ../tmp/access-%1 -f
RewriteRule ^(.+)$ $1 [L]
RewriteRule .+ /deny [L]
当找到相应的 cookie 值并且存在授权 stub 文件时,第一个 block 允许访问。第二条规则阻止其他任何人访问。
关于php - 保护可下载文件的最佳策略-php/mysql Apache2 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377117/