21 votes

Empêcher le hotlinking d'Amazon Cloudfront

J'utilise Amazon Cloudfront pour héberger toutes les images et vidéos de mon site, afin de les servir plus rapidement à mes utilisateurs qui sont assez dispersés dans le monde. J'applique également une mise en cache directe assez agressive aux éléments hébergés sur Cloudfront, en définissant les paramètres suivants Cache-Control à public, max-age=7776000 .

J'ai récemment découvert, à mon grand dam, que des sites tiers établissaient des liens directs avec mon serveur Cloudfront pour afficher des images sur leurs propres pages, sans autorisation.

J'ai configuré .htaccess pour empêcher les liens chauds sur mon propre serveur, mais je n'ai pas trouvé de moyen de le faire sur Cloudfront, qui ne semble pas prendre en charge cette fonctionnalité de manière native. Et, chose ennuyeuse, les Bucket Policies d'Amazon, qui pourraient être utilisées pour empêcher le hotlinking, n'ont d'effet que sur S3, elles n'ont aucun effet sur les distributions CloudFront [ lien ]. Si vous voulez profiter de ces politiques, vous devez servir votre contenu directement depuis S3.

Parcourir les journaux de mon serveur pour trouver les hotlinkers et modifier manuellement les noms de fichiers n'est pas vraiment une option réaliste, bien que je l'aie fait pour mettre fin aux infractions les plus flagrantes.

Toute suggestion serait la bienvenue.

0voto

Paul Schroeder Points 1

Pourquoi ne pas envisager un jeton sécurisé ? Il est plus sûr et offre plus de flexibilité. J'utilise KeyCDN Ils offrent à la fois une protection contre les liens chauds et un jeton sécurisé gratuitement. Cela fonctionne très bien pour moi.

0voto

figolu Points 560

Cette question mentionnait les fichiers image et vidéo.
La vérification de l'en-tête de référence ne peut pas être utilisée pour protéger les ressources multimédias contre le hotlinking, car certains navigateurs mobiles n'envoient pas d'en-tête de référence lorsqu'ils demandent un fichier audio ou vidéo lu à l'aide de HTML5.
J'en suis sûr pour Safari et Chrome sur iPhone et Safari sur Android.
Dommage ! Merci, Apple et Google.

0voto

Sandip Jangra Points 83

Et si vous utilisiez des cookies signés ? Créez des cookies signés à l'aide d'une politique personnalisée qui prend également en charge les différents types de restrictions que vous souhaitez définir, ainsi que les caractères génériques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X