Consentire / negare l’hotlinking dell’immagine con .htaccess

Quindi ho questo nel mio file .htaccess del mio sito per evitare il collegamento a caldo di immagini, JS e CSS da tutti gli altri domini.

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

Domanda: Come consentirei in modo selettivo uno o due domini per l’hotlink?

 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] 

Funzionerà, come dice questo.

“Refererr non è nulla, e il referer non sta corrispondendo a mydomain e il referer non corrisponde all’addomain.

Se fosse il caso che stavi cercando di fare il contrario (blacklist un set di domini da hotlinking) avresti fatto qualcosa come

 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] 

Basta aggiungere un’altra condizione prima di RewriteRule per ciascun dominio che si desidera consentire.

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

(presumibilmente non ti interessa se la richiesta è tramite http o https o qualsiasi altra cosa, quindi puoi lasciarla per renderla più generica)