1

我正在我的项目中上传图片功能。在这里,我将我的文件保存在公共文件夹 (public/img/myfiles/) 中。如果管理员用户未登录,我想限制文件访问。(即)

如果我把网址放在

https://domain/img/myfiles/filename.jpg

它应该重定向到登录页面

https://domain/login

怎么做?而且我不想将特定图像限制为关联用户。由于用户是管理员,我想授予他们对图像文件夹的完全访问权限。

4

1 回答 1

2

您可以尝试在.htaccess文件中放置一行,通过 PHP 脚本路由所有对图像的请求,如果不是管理员,该脚本只会重定向到登录页面,否则返回请求的图像。这是一个关于它的外观的想法

.htaccess文件:

RewriteRule ^img/myfiles/(\w+)\.([a-z]{3,4})$ image.php?name=$1&type=$2 [L]

image.php文件:

if(Auth::user()->role == 'admin') {
    header("Content-type: image/" + $_SESSION['type']);
    readfile("/path/to/image/" + $_SESSION['name'] + '.' + $_SESSION['type']);
else {
    header("Location: http://mysite.com/login");
}
于 2013-03-18T11:15:27.510 回答