目前使用 Codeigniter/PHP 和 IIS 7
我目前正在研究“盗链”,但这只能保护图像不被放到其他网站上。它不会阻止最终用户直接将图像 URL 粘贴到地址栏中并在未登录的情况下访问图像。
我不太确定解决这个问题的最佳方法是什么。如何保护图像,使其只能由登录用户访问?
谢谢你。
目前使用 Codeigniter/PHP 和 IIS 7
我目前正在研究“盗链”,但这只能保护图像不被放到其他网站上。它不会阻止最终用户直接将图像 URL 粘贴到地址栏中并在未登录的情况下访问图像。
我不太确定解决这个问题的最佳方法是什么。如何保护图像,使其只能由登录用户访问?
谢谢你。
将图像放在站点的 webroot之外的某个位置。
有一个获取图像并仅在登录时显示图像的 php 脚本。
最好的方法是,如果您停止在整个站点上使用真实的图像 url 并始终通过 php 脚本(控制器函数)检索图像,这可以帮助您检查用户身份验证和其他人员,如调整大小/裁剪/缓存等。
在这种情况下,您甚至可以在根目录中使用任何 url,这根本不为外界所知。
上述答案存在性能问题。您可以每小时/每天重命名包含图像的文件夹.... 例如
images/a8s7d5r7w9/33229.png
至images/g2j3s3l1p2t/33229.png