保护图像路径 - PHP

时间:2011-04-23 06:01:43

标签: php

我可以在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>

3 个答案:

答案 0 :(得分:2)

你可以创建一个PHP页面来获取一些参数,然后处理它。 像页面http://www.yoursite.com/pic.php?token=xxxxxxxxxxxx一样,在这里你可以处理令牌,做一些角色身份验证和会话身份验证,然后使用header()函数将pic推送到浏览器,以便人们可以下载但不能看到pic路径直。希望这能帮助你。

答案 1 :(得分:2)

隐藏图像src路径是什么意思?如果您希望用户的浏览器显示图像,他们肯定必须访问数据,对吧?所以你必须告诉他们地址(除非你将图像嵌入到base64中的页面或其他东西,但这并不是更好)。但是你不能控制用户的浏览器...也许它将图像存储在文件中,作为缓存?或者也许用户可以根据自己的需要进行定制?

使事情变得更难的一个可能的保护是生成一个唯一的链接到图像,这只能用于一个请求,假设如果用户查看页面的源代码并尝试使用此链接,然后它就不再有效了。但这不是绝对的保护。

没有确定的方法可以做你想要的事情;你只能让它变得更难,但你只能希望你的用户不够聪明,不能绕过保护,因为总有办法。

答案 2 :(得分:1)

由于这些攻击媒介,无法构建完全保护您的图像免受下载的系统:

- 页面的截图

- 服务器和客户端之间的相互关系(即Wireshark)

- 在浏览器缓存中查找