Nginx 如何防止流媒体内容的热链接?

Nginx 如何防止流媒体内容的热链接?,nginx,hotlinking,Nginx,Hotlinking,我有一个包含媒体文件的目录,我不需要在其他网站上显示它们。 服务器不支持.htaccess,因为它使用nginx 如何为我的文件启用热链接保护?? 谢谢。最简单的方法是检查HTTP请求中的头。基本上,如果该标题没有来自您站点的URL,那么这可能是热链接 这有以下问题: 推荐人标题可以伪造->热链接工作 所有用户代理不一定发送referer头->合法用户可能无法获取内容 您还可以在用户浏览您的网站时设置cookie,并在用户访问流媒体内容时检查cookie是否存在。详细信息可能已注明日期,但I

我有一个包含媒体文件的目录,我不需要在其他网站上显示它们。 服务器不支持.htaccess,因为它使用nginx

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

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

这有以下问题:

  • 推荐人标题可以伪造->热链接工作
  • 所有用户代理不一定发送referer头->合法用户可能无法获取内容

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

详细信息可能已注明日期,但Igor提供了一个用于图像热链接保护的引用人映射示例,在此处可能很有用:

如果你决定走推荐路线


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

在我的hostgator站点上,他们使用nginx作为Apache的代理(nginx+Apache)。也许这对你有帮助。此外,如果您可以访问日志,如果您看到来自ip的大量流量,我将进行调查,如果它指向一个站点,则阻止另一个web服务器。Php的file_get_内容不会被htaccess或我知道的任何东西阻止,除了阻止ip

我喜欢cookie选项,它很容易加密并在一定时间后过期,比推荐人更难欺骗