Autoriser / refuser l'image hotlinking avec .htaccess
-
12-09-2019 - |
Question
J'ai dans mon fichier .htaccess du site pour empêcher hotlinking d'images, JS et CSS de tous les autres domaines.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
Question: Comment puis-je permettre sélectivement un ou deux domaines à hotlink
?La solution
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]
fonctionne, comme cela dit.
"Refererr est rien, et referer ne correspond pas à mon_domaine et referer ne correspond pas à otherdomain.
Si tel était le cas que vous essayez de faire le contraire (liste noire un ensemble de domaines de hotlinking) vous feriez quelque chose comme
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]
Autres conseils
Il suffit d'ajouter une autre condition avant la RewriteRule pour chaque domaine que vous souhaitez autoriser.
RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC]
(probablement vous ne vous inquiétez pas si la demande est via http ou https ou autre, de sorte que vous pouvez laisser cela à pour le rendre plus générique)