Разрешить / запретить горячую ссылку на изображение с помощью .htaccess

StackOverflow https://stackoverflow.com/questions/1245869

Вопрос

Итак, у меня есть это в моем файле site .htaccess, чтобы предотвратить горячие ссылки на изображения, JS и CSS из всех других доменов.

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]

Вопрос:Как бы мне выборочно разрешить одному или двум доменам горячую ссылку?

Это было полезно?

Решение

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?otherdomain\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]

Сработает, как здесь сказано.

"Refererr - это не ничто, и referer не соответствует mydomain, а referer не соответствует otherdomain.

Если бы это было так, что вы пытались сделать обратное (занести в черный список набор доменов из горячих ссылок), вы бы сделали что-то вроде

RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain2\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]

Другие советы

Просто добавьте еще одно условие перед RewriteRule для каждого домена, который вы хотите разрешить.

RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC]  

(предположительно, вам все равно, отправляется ли запрос через http или https или что-то еще, поэтому вы можете оставить это, чтобы сделать его более общим)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top