我们需要在一个页面中显示~40个图像,并且不允许用户热链接这些图像。我们目前正在使用<img src="...">
指向检查cgi.http_referer
并使用cfcontent
显示图像的处理程序。但是,某些图像将无法加载(40张中约有6张图像),如果我刷新页面,其他一些图像将无法加载。
当我必须显示10个以上的图像时,似乎会出现此问题。我想这是因为我正在使用cfcontent
?如果是这样,我应该使用什么呢?
答案 0 :(得分:3)
要确切了解这些图像失败的原因,您需要做更多的工作。您应该使用FireFox中的Firebug或Safari或Chrome中的控制台来查找失败请求所发生的情况。您还可以使用Fiddler on Windows for IE或Charles on the Mac, Windows, or Linux之类的内容来查看后台发生的完整HTTP请求,以及ColdFusion应用服务器的完整返回值。在你确切知道它们失败的原因之前,我们无法提出任何解决方案。
另一件需要记住的事情是,如果你通过ColdFusion执行此操作,那么对于每个页面加载,你都会向你的CF服务器发出40多个请求。因此,一个页面会导致您的CF服务器进行41次点击以进行处理。确保代码尽可能紧密。
如果我要走这条路,我会在服务器级别(IIS或Apache)使用某种服务器级别的过滤器来防止热链接。但请记住,总有办法绕过它。