Назад | Перейти на главную страницу

Специальное преобразование защиты от хотлинков nginx из правила Apache .htaccess

У меня есть следующее правило перезаписи антипиявки в Apache, которое я хотел бы иметь в nginx. Я вижу примеры правил для файлов cookie или реферера. Но ни один из них не сочетает оба, поэтому я не знаю, как это сделать.

<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 при использовании недействительных рефереров домена.