2009-12-07 53 views
2

我有我的媒体文件的目录,我不需要在其他网站上显示它们。 服务器不支持.htaccess,因为它使用nginx。如何防止流式内容的盗链?

如何为我的文件启用热链接保护? 谢谢。

回答

3

最简单的方法是检查HTTP请求中的Referer标头。基本上,如果该标题没有来自您的网站的网址,那么这可能是热链接。

这有以下几个问题:

  • 网址标头可以锻造 - >热链接的效果
  • 所有的用户代理不必发送网址标头 - >合法的用户可能无法获得的内容。

您还可以在用户浏览您的网站时设置cookie,并在用户访问流媒体内容时检查cookie是否存在。

+0

我喜欢cookie选项,易于加密并在一段时间后过期,比引用者更难以欺骗 – LorenVS 2009-12-07 10:54:34

1

的细节可以过时,但伊戈尔给引荐映射图像防盗链,可能是这里有用的例子:http://nginx.org/pipermail/nginx/2007-June/001082.html

如果你决定去引荐路线。

如果您使用的是memcached,您还可以存储商店客户端IP地址一段时间,并且只有在缓存中找到未到期的客户端IP时才提供流式媒体。在正常浏览期间,客户端IP会被缓存,以确保查看流式内容的人最近也访问过您的网站。

0

在我的hostgator站点上,他们使用nginx作为Apache(nginx + apache)的代理。也许这会帮助你。同样,如果你有权访问日志,如果你看到很多来自ip的流量,我会调查,如果它指向一个站点,则阻止另一个web服务器。 Php的file_get_contents不会被htaccess或我知道的其他任何东西阻止ip。