http图像可从内页查看,但不能直接显示网址

时间:2009-07-17 03:37:23

标签: iis-7 image hotlinking

我不相信这是可能的,但我认为那里的人比我聪明,所以为什么不检查..

我希望在img标记中使用w /时可以在页面中查看 可以查看的HTTP图像,但如果直接调用img src链接则不可见。那有意义吗?可在页面中查看,但如果直接调用则不会。

快速编辑..可接受的替代方法是在页面中嵌入图像,使得url不是人类可读/能够被提取并输入到浏览器中。

更新2 ... .NET IIS7环境

5 个答案:

答案 0 :(得分:1)

请注意,“安全”产品(如Norton Internet Security和Norton Personal Firewall)会阻止默认情况下发送HTTP Referer:(TBL的拼写错误,而不是我的)标头。由于这些产品被广泛使用,引用者阻止会破坏很多人的生活。

FWIW,如果我热衷于获取您的图像而不是查看您的页面(虽然我无法想象为什么我应该这样),当我查看您的页面时,我会抓住他们通过网络的位数,使用像Charles或Fiddler这样的东西。完全不可能通过网络提供内容,但阻止人们制作副本。

答案 1 :(得分:0)

我相信您可以通过依赖浏览器提供的引荐来源标头来实现这样的目标 - 当引荐者是您自己网站上的网页时,您提供图像,但不是其他。

它不是100%可靠(因为在HTTP规范中传递引用者不是必需的)但对某些站点运行良好。

这是通过配置您的网络服务器来实现的;因此,您可能有更多的运气在ServerFault上问这个。

答案 2 :(得分:0)

是的,有很多关于如何在apache中设置mod_rewrite规则的文章,试图阻止直接访问文件。

http://www.cyberciti.biz/faq/apache-mod_rewrite-hot-linking-images-leeching-howto/

答案 3 :(得分:0)

这取决于它是如何构建的。您始终可以确保您的引荐来源是您希望从中托管的页面并锁定其中的请求。

如果您有一些身份验证的概念,您可以将图像隐藏在某种类型的php / ruby​​脚本或asp.net http处理程序中,该处理程序从服务器或数据库请求图像(在不可公开查看的位置但是可以通过服务器端代码访问)并且该处理程序可以在返回之前检查您的身份验证状态。

答案 4 :(得分:0)

坦率地说,我重新设计了我的解决方案,所以我真的不必担心它...知道这是一个警察,因为它并没有真正回答这个问题,但确实如此。我担心用户可以欺骗我正在创建的“游戏”,如果他们能够找出用于命名图像的序列。快速而肮脏的解决方案....不要使图像文件名顺序/可预测。