Le hotlinking consiste à afficher sur un autre site une image hébergée chez vous, en utilisant directement son URL. Résultat : le visiteur ne vient pas chez vous, mais votre serveur fournit quand même le fichier. Charmant. Vous payez la bande passante, l’autre site récupère l’image.
Sous Nginx, on peut limiter ce comportement avec le module ngx_http_referer_module. Il permet de vérifier l’en-tête HTTP Referer envoyé par le navigateur, puis de refuser les requêtes venant de domaines non autorisés.
Cette protection n’est pas parfaite. Un en-tête Referer peut être falsifié ou absent. En revanche, elle reste très utile pour bloquer le hotlinking classique : forums, blogs, agrégateurs douteux ou sites qui affichent vos images sans les héberger eux-mêmes.