Ce qu’est le hotlinking et ce qu’il coûte
Chaque image de votre site a une URL, et rien dans le HTML n’empêche un autre site de placer cette URL dans sa propre balise img. Quand il le fait, chaque visiteur de sa page télécharge le fichier depuis votre infrastructure : son expérience de contenu, votre bande passante, votre facture CDN. Il en va de même pour les PDF, les polices, les fichiers vidéo — tout ce qui est adressable.
C’est le profil de coût qui le rend sournois. Une intégration isolée ne coûte rien de perceptible ; un fil de forum populaire, une page d’agrégateur virale ou un site construit par un scraper qui intègre des centaines de vos images ne s’annonce pas — cela apparaît simplement comme du trafic que vous ne pouvez rattacher à aucune de vos pages. Si vos statistiques montrent un volume significatif de requêtes média avec des référents étrangers, vous financez le site de quelqu’un d’autre.
Comment fonctionne la protection par Referer
Les navigateurs attachent un en-tête Referer aux sous-requêtes : quand une page charge une image, la requête porte l’adresse de la page. La protection hotlink le lit en périphérie et applique une politique simple — si la page demandeuse appartient à vos propres domaines (ou aux partenaires que vous autorisez), on sert ; si elle appartient à un autre site, on refuse.
Le refus a lieu en périphérie, avant que votre origine ne voie quoi que ce soit, si bien que la bande passante volée s’arrête immédiatement. Certains sites servent une petite image « hébergée par… » à la place d’un blocage sec, ce qui transforme le vol en publicité gratuite — une astuce élégante, mais le refus pur et simple reste le standard et le défaut le plus simple.
Les limites honnêtes : ce que cela ne protège pas
Le Referer est fourni par le client. Un script peut le falsifier, une extension de confidentialité peut le supprimer, et certains contextes légitimes n’en envoient aucun. Soyez donc précis sur ce qu’est la protection hotlink : un contrôle de coûts qui arrête le cas de très loin le plus courant — l’intégration opportuniste par d’autres sites — pas un mécanisme de contrôle d’accès.
Deux conséquences en découlent. D’abord, décidez du sort des referers VIDES : les bloquer, et vous cassez les visiteurs derrière des outils de confidentialité stricts, les ouvertures de lien direct et certains lecteurs de flux ; les autoriser, et un scraper déterminé peut passer en n’en envoyant aucun. La plupart des sites autorisent le vide et acceptent cette brèche. Ensuite, tout ce qui doit être réellement privé — téléchargements payants, documents d’utilisateurs — exige une vraie authentification ou des URL signées à expiration, une fonctionnalité différente qui résout un problème différent.
L’activer sans casser les usages légitimes
Le mode d’échec de la protection hotlink, c’est le sur-blocage : les images de votre newsletter dans les clients mail, vos pages sauvegardées dans les applis « à lire plus tard », un site partenaire que vous voulez justement voir vous intégrer. Cadrez-la donc délibérément.
Sur cdn.com.tr, le contrôle vit sur la règle de diffusion : une liste blanche ou noire hotlink par règle, gérée dans le panneau à côté des réglages de cache et de sécurité de la même règle. Ce placement est précisément le but — appliquez-la à la règle qui correspond à vos chemins média, listez vos propres domaines (y compris www et tout sous-domaine qui intègre légitimement), ajoutez les partenaires au besoin, et ne touchez pas à votre règle HTML. Puis testez les trois cas avant de passer à autre chose : votre propre page affiche toujours ses images, un referer étranger est refusé, et une ouverture directe dans un nouvel onglet se comporte comme vous l’avez choisi pour les referers vides.
Vérifiez les trois cas avec curl
# your own page as referer — must serve
curl -s -o /dev/null -w '%{http_code}\n' -e 'https://www.example.com/page' https://cdn.example.com/img/product.jpg
# foreign referer — must be refused
curl -s -o /dev/null -w '%{http_code}\n' -e 'https://other-site.com/thread' https://cdn.example.com/img/product.jpg
# no referer — whichever you chose, verify it is deliberate
curl -s -o /dev/null -w '%{http_code}\n' https://cdn.example.com/img/product.jpg
Questions fréquentes
La protection hotlink va-t-elle casser Google Images ?
Elle le peut, si vous bloquez les referers vides et ceux des moteurs de recherche — et figurer dans la recherche d’images est en général un trafic que vous voulez. Autorisez les referers des moteurs (et, le plus souvent, les vides), sauf raison spécifique de faire autrement.
Empêche-t-elle de télécharger et de re-téléverser mes images ?
Non. La protection hotlink empêche votre INFRASTRUCTURE de servir leur audience ; elle ne peut pas empêcher la copie. La protection contre la copie est une question juridique et de filigrane, pas de bande passante.
Dois-je tout protéger ou seulement les médias ?
Seulement les médias, via la règle qui correspond à ces chemins. Protéger le HTML n’a pas de sens (les pages sont ce que vous voulez voir visité), et le cadrage par règle est exactement ce qui empêche ce contrôle de casser la navigation normale.
Et les fichiers payants ou privés ?
Pas cette fonctionnalité. Les vérifications de Referer dissuadent l’intégration opportuniste ; pour du contenu à valeur réelle, utilisez l’authentification ou des URL signées à expiration, afin que la seule possession du lien ne suffise pas.