我可以在PHP页面中隐藏真实的图像路径,还是使用某种加密方式[这样观众无法看到img src]? [ 我创建了一个社交网络,用户可以分享图像与否! 图像不存储在数据库中。] ]
我看到一些PHP页面显示带有此类数据的图像[虽然我发布的是VB.NET代码]
<data name="TrayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICD/AAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABnZEsAjnMTAKmFFAC7lBsAdWEhABstOgAfNE0ARlt0AG6DmABziJsAN0NTAEpRVABWW1wAS0ktAElj
iwBPbpEAQ1yBADlPcwBdc4gAPT9CAEY6EABUeaoAWIO4AGWCqQBdd5sAPVV7AHWPlQB3jZ8Ae5GjACs0
PwAyJgUANTk6AFRphABbicEAZJLJAGGPxABjhroAdZClAHWIjgBne4wAZm9rABQWFQAwNDEANkpjAG2Y
................
</value>
</data>
答案 0 :(得分:2)
你可以创建一个PHP页面来获取一些参数,然后处理它。 像页面http://www.yoursite.com/pic.php?token=xxxxxxxxxxxx一样,在这里你可以处理令牌,做一些角色身份验证和会话身份验证,然后使用header()函数将pic推送到浏览器,以便人们可以下载但不能看到pic路径直。希望这能帮助你。
答案 1 :(得分:2)
隐藏图像src路径是什么意思?如果您希望用户的浏览器显示图像,他们肯定必须访问数据,对吧?所以你必须告诉他们地址(除非你将图像嵌入到base64中的页面或其他东西,但这并不是更好)。但是你不能控制用户的浏览器...也许它将图像存储在文件中,作为缓存?或者也许用户可以根据自己的需要进行定制?
使事情变得更难的一个可能的保护是生成一个唯一的链接到图像,这只能用于一个请求,假设如果用户查看页面的源代码并尝试使用此链接,然后它就不再有效了。但这不是绝对的保护。
没有确定的方法可以做你想要的事情;你只能让它变得更难,但你只能希望你的用户不够聪明,不能绕过保护,因为总有办法。
答案 2 :(得分:1)
由于这些攻击媒介,无法构建完全保护您的图像免受下载的系统:
- 页面的截图
- 服务器和客户端之间的相互关系(即Wireshark)
- 在浏览器缓存中查找