0

我的服务器生成了动态图像 ( http://myserver.com/image/71286cdef.png) 并由其他站点加载。此 html 嵌入到其他服务器中的页面(例如http://www.othersite.com/787878.html

<img src='http://myserver.com/image/71286cdef.png'/>

如何http://www.othersite.com/787878.html在我的服务器中检测此 url ( ) 加载图像

http://myserver.com/image/71286cdef.png
4

1 回答 1

0

非 Ruby 特定:通常浏览器会发送“referer”标头以及对原始页面上资源的所有请求。因此,在生成图像的代码中,您可以检查该标题。

如果您稍后需要它来进行分析,您还可以将服务器配置为记录引荐来源标头以及其他标准属性(IP、Url、查询参数)。

注意:此标头可能丢失或伪造 - 没有真正可靠的方法来确认谁请求了图像。(可能缺少带有客户端证书的 SSL)。

处理 Ruby 漏洞的可能 Ruby 代码:检查 HTTP 引荐来源网址

 if (
   ( request.headers['referer'].nil? ) or
   ( (request.headers['referer'] =~ %r[^http://#{request.host_with_port}/]).nil? )
   )
   flash[:notice] = "Incorrect Referer header"
   redirect_to :action => 'index'
 end
于 2013-04-15T04:13:20.500 回答