Plusieurs sites Web relient mes images à chaud, je veux bloquer et empêcher les liens à mes images de site Web.
Et, j'allais utiliser le code de prévention des liens directs standard dans .htaccess
:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Cependant, certains des fils de blog et de forum avaient suggéré d'ajouter séparément les moteurs de recherche dans une liste d'autorisation comme celle-ci:
RewriteCond %{HTTP_REFERER} !^http?://([^.]+\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?facebook\. [NC]
Dois-je ajouter explicitement tous les moteurs de recherche et les médias sociaux lors de l'application du code de prévention des liens dynamiques dans .htaccess
? Est-ce que cet effet sur les images de mon site Web rampe?
Ou, existe-t-il un meilleur moyen de protéger les images contre le hotlinking?
Dois-je ajouter explicitement tous les moteurs de recherche et les médias sociaux ...
Potentiellement, oui. Cependant, cela dépend de la façon dont le tiers (moteur de recherche/plateforme de médias sociaux) récupère/met en cache vos images.
Si Google recherche d'images est un problème, vous devrez percer un trou dans votre protection de hotlinking pour permettre à google.com
comme Referer
. Alors que googlebot sera en mesure de explorer vos images initialement (en raison de votre première condition qui vérifie un Referer
vide), lorsqu'un utilisateur clique sur une image dans la "recherche d'images", un une demande directe est faite à votre site, qui envoie un Referer
du formulaire https://www.google.com/
.
RewriteCond %{HTTP_REFERER} !^http?://([^.]+\.)?google\. [NC]
Assez important, il manque la s
dans https
dans l'expression régulière ci-dessus, donc cette condition nié réussira toujours et https://www.google.com
sera bloqué. Google est HTTPS partout ces jours-ci, vous n'avez donc pas besoin du ?
pour un s
facultatif. Je ne pense pas non plus que vous ayez besoin du drapeau NC
(seuls les bots malformés envoient des en-têtes Host
majuscules):
RewriteCond %{HTTP_REFERER} !^https://([^.]+\.)?google\.
A part: J'ai vu http://www.google.com
(notez HTTP, pas HTTPS) utilisé comme Referer
par des bots malveillants, donc si quelque chose, ceux-ci doivent être bloqués.
Ou, existe-t-il un meilleur moyen de protéger les images contre le hotlinking?
Il n'y a pas d'autre moyen. De par sa nature même, il est peu fiable et sujet aux erreurs.
Vous ne devriez probablement implémenter la prévention des hotlinks que si cela devient un problème pour votre site, entravant les performances de votre site ou consommant toute votre bande passante (ou peut-être qu'ils hotlink tout!). Cela peut même vous être bénéfique pour le référencement. Je préfère un site lié à quelques-unes de mes images (que je contrôle toujours), plutôt que de copier et de réutiliser mes images sans attribution (sur lesquelles je n'ai aucun contrôle).
Non. Le hotlinking empêche simplement les gens de charger vos images en complément de votre bande passante. Tant que vous ne bloquez pas le répertoire des images à indexer, alors tout va bien.
Note de côté. La plupart des sociétés d'hébergement ont une option pour empêcher le hotlinking dans le panneau de configuration.