如何仅允许登录用户访问图像

时间:2012-07-10 18:31:01

标签: php codeigniter

目前使用Codeigniter / PHP和IIS 7

我目前看过“hotlinking”,但这只会保护图片不被放到其他网站上。它不会阻止最终用户直接将图像URL粘贴到地址栏中并在未登录的情况下访问图像。

我不太清楚解决这个问题的最佳方法是什么。如何保护图像以便只能由登录用户访问?

谢谢。

3 个答案:

答案 0 :(得分:1)

将图片放在网站的webroot 外面的某个位置。

有一个php脚本可以获取图像并在登录时显示图像。

答案 1 :(得分:0)

最好的方法是,如果你停止在整个网站上使用真实的图像网址,并总是通过php脚本(控制器功能)检索图像,这可以帮助你检查用户身份验证和其他人员,如调整大小/裁剪/缓存等同样。

在这种情况下,您甚至可以在root base中使用任何url,这根本不为外界所知。

答案 2 :(得分:0)

以上答案中存在性能问题。您可以每小时/每天重命名包含图像的文件夹。 例如

images/a8s7d5r7w9/33229.pngimages/g2j3s3l1p2t/33229.png