我正在开发一个应用程序,用户可以在其中创建帐户并上传图像,这些图像存储在目录中,然后可以在应用程序本身或应用程序的公开可见部分中显示。现在我真的很想保护图像,只允许在满足某些条件的情况下访问这些图像,即设置 session 或将图像的数据库权限设置为公共(public),仅举几例.
所以,我需要的是,每当加载该目录中的图像时,htaccess 文件都会将图像名称传递到该目录中的 php 文件中,该文件会运行它必须执行的任何检查,如果返回 true, htaccess 可以继续吐出图像(无论是在标签中还是刚刚在浏览器的地址栏中输入)。
我浏览了很多帖子,但没有找到任何东西。我无法想象这是不可能的,所以任何能够提供指导的人都会受到祈祷 - 如果你是本地人,那么,可能还会有其他好处!
最佳答案
将上传的图像存储在无法通过网络访问的文件夹中,然后
使用重写规则将请求转发到php;类似于: RewriteRule ^images/([^/]+)/image.php?img=$1 [NC]
在 php 中进行验证,如果可以,则通过 php 从不可读文件夹转发图像;类似的东西
header('Content-type: '.$mime);
header('Content-length: '.filesize($filename));
$file = @ fopen($filename, 'rb');
if ($file) {
fpassthru($file);
exit;
}
关于php - 在授予目录访问权限之前,使用 htaccess 验证 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6817918/