0

我有可以从其他网站热链接的 swf 和图像文件,例如在这个问题中 如何使用HTTP Referer 标头让我的 swf 文件只能从我的网站查看?

编辑

我的文件托管在我的服务器上,我没有使用 Amazon S3 服务或其他文件托管服务。

4

2 回答 2

1

您应该确保引用链接与您的域具有相同的域,例如如果您有 nginx:

location ~* (\.swf)$ {
    valid_referers blocked mydomain.com www.mydomain.com;
    if ($invalid_referer) ) {
        return 444;
    }
}
于 2012-12-30T06:28:21.797 回答
0
if request.env['HTTP_REFERER'] =~ /yourdomain\.com\//
  # serve asset
end

请注意,nil =~ regex # => nil您无需先检查是否request.env['HTTP_REFERER']存在。

编辑:

关于 =~ 运算符的更多信息:Object#=~String#=~Regex#=~

$ irb
> nil =~ /something/
=> nil
于 2012-12-31T00:58:38.293 回答