我正在我的项目中上传图片功能。在这里,我将我的文件保存在公共文件夹 (public/img/myfiles/) 中。如果管理员用户未登录,我想限制文件访问。(即)
如果我把网址放在
https://domain/img/myfiles/filename.jpg
它应该重定向到登录页面
https://domain/login
怎么做?而且我不想将特定图像限制为关联用户。由于用户是管理员,我想授予他们对图像文件夹的完全访问权限。
我正在我的项目中上传图片功能。在这里,我将我的文件保存在公共文件夹 (public/img/myfiles/) 中。如果管理员用户未登录,我想限制文件访问。(即)
如果我把网址放在
https://domain/img/myfiles/filename.jpg
它应该重定向到登录页面
https://domain/login
怎么做?而且我不想将特定图像限制为关联用户。由于用户是管理员,我想授予他们对图像文件夹的完全访问权限。
您可以尝试在.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");
}