从 Apache .htaccess 规则转换而来的特殊 nginx 热链接保护

从 Apache .htaccess 规则转换而来的特殊 nginx 热链接保护

我在 Apache 中拥有以下反盗版重写规则,我希望在 nginx 中也拥有它。我看到了 cookie 或 referrer 规则示例。但没有一个将两者结合起来,所以我不确定该怎么做。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$ [OR]
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?domain\.com.*$ [NC]
    RewriteCond %{HTTP_COOKIE} !^.*_.*$
    RewriteRule \.(flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js|htc|woff|otf|eot|ttf)$ - [F,NS,L]
</IfModule>

这是一条稍微宽松的规则,如果使用已知 cookie 发送,则允许空引用者(_例如)。但是,当使用无效域引用者时,它将拒绝未设置该 cookie 的访问。

相关内容