如何阻止访问图像从某些url在我的网站?



我有一个网站与多个嵌入图像…

在服务器端,我存储了同一图像的多个版本(用于大小调整等)

。Image.jpg、image-thumb.jpg、image-original.jpg

然而,我也保留了一份原始的,未经编辑的图像,其中包含敏感信息,我希望远离公众访问的副本。目前,如果有人从">image.jpg编辑我的源代码";">image-original.jpg";他们可以看到原件,这是一个安全风险。

我保留了这些原始图像,以便可以在我的自定义后端CMS门户中使用它们来根据需要编辑图像。

是否有办法阻止能拿到原件吗?也许通过阻止加载原始图像文件夹,除非请求来自我的网站上的某些位置?

好了,我明白了。

我为存储我的图像的子目录添加了一个deny all.htaccess文件

然后我通过php脚本提供所有图像,如下所示:

// open file in binary mode
$filename = 'img/'.$GET['img'];
$imagefile = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/jpg");
header("Content-Length: " . filesize($filename));
// dump the picture and stop the script
fpassthru($imagefile );

然后很容易实现我想要的任何逻辑,以防止某些文件被打开。在这个例子中,我只做了:

if(strpos($_GET['name'], 'original')!=false){
die();
}

我们还可以包括任何需要的逻辑,以确保管理员用户登录,等等…

相关内容

  • 没有找到相关文章

最新更新