Comment se protéger contre l'accès direct aux images?
Je voudrais créer un site web avec beaucoup d'images. Mais je tiens à les protéger contre l'accès direct aux images, par exemple, des liens directs vers des images sans en visitant le site web.
Quel est le meilleur moyen pour ce faire? Et quelles sont les solutions de rechange avec les avantages et les inconvénients?
J'ai quelques idées (je ne sais pas si elles sont possibles):
- Autorisations de fichier
- Sessions PHP
- Noms de fichiers temporaires ou des Url
- HTTP de Redirection?
Peut-être que ce n'est pas pratiquée sur de nombreux sites web? E. g. J'ai essayé d'accéder à une photo sur Facebook sans être connecté, mais j'ai quand même pu visiter la photo.
La plate-forme sera probablement une machine Ubuntu avec NginX et PHP.
Vous êtes en mesure d'accéder à la partie "privée" photo sur Facebook parce que vous avez été en utilisant le direct du lien de l'image, plutôt que la page de la photo.
Oui, c'est ce que je voudrais éviter sur mon site. La question est comment le faire?
Êtes-vous essayer de prévenir le hotlinking, ou quelque chose de plus? stackoverflow.com/questions/1245869/...
Oui, mais je ne peux pas utiliser cette méthode, car je suis en utilisant Nginx et je n'ai pas
Qu'essayez-vous d'éviter? Juste hotlinking, ou voulez-vous utilisateur/l'adhésion des autorisations d'accès?
Oui, c'est ce que je voudrais éviter sur mon site. La question est comment le faire?
Êtes-vous essayer de prévenir le hotlinking, ou quelque chose de plus? stackoverflow.com/questions/1245869/...
Oui, mais je ne peux pas utiliser cette méthode, car je suis en utilisant Nginx et je n'ai pas
.htaccess
fichiers.Qu'essayez-vous d'éviter? Juste hotlinking, ou voulez-vous utilisateur/l'adhésion des autorisations d'accès?
OriginalL'auteur Jonas | 2010-10-21
Vous devez vous connecter pour publier un commentaire.
http://us3.php.net/image
Vous lien de l'élément img à un fichier php. Ce fichier vérifie si l'utilisateur a le droit d'autorisation, si donc il peut envoyer une img réponse en retour.
Toujours quelqu'un avec la permission pouvez télécharger l'image, et de les fournir à d'autres personnes à un autre endroit de l'espace web/mail/autre). Pour le rendre un peu plus difficile à voler, vous pouvez désactiver le clic droit sur l'image, mais encore un utilisateur qui sait un peu plus sur http ne devrait pas avoir de problèmes pour la voler.
Vous pouvez placer une signature sur l'image (par exemple le logo/nom de votre site) afin que les gens peuvent voir que vous où est la source. Cela peut être fait avec php aswell.
Si vous voulez être funy vous pouvez configurer une autre image (le porno est grand :P) qui est envoyé si le lien vient d'une autre page 😛
Même problème ici. Il se charge très lente et je ne peux pas travailler avec des Paresseux. Est-il un autre moyen?
OriginalL'auteur Mark Baijens
Ajouter un simple
.htaccess
fichier dans le dossier de votre site avec la suivant des lignesRemarque j'ai aussi ajouté
js
etcss
fichier, même si je pense que c'est bizarre de trouver quelqu'un qui essaie de gratter eux.OriginalL'auteur Marco Demaio
Ce qui peut être utile: Autoriser/refuser l'image hotlinking .htaccess
Edit: Une chose à noter à propos de cette méthode est que certains Navigateur/AV/Pare-feu logiciel supprime les Referer données lorsque vous naviguez, ce qui entraînerait potentiellement utilisateurs légitimes d'être traités comme des hotlinkers.
Si votre site utilise déjà une sorte d'authentification ou de système de session, alors il serait préférable d'utiliser la méthode donnée à l' @Mark Baijens réponse.
Mise à jour: NGiNX règle de réécriture pour éviter le hotlinking:
.htaccess
fichiers.Avec quelques réglages, c'est possible.
Merci, je vais regarder cette solution.
Et ces programmes ne sont pas seulement d'éliminer le référent, ils ont parfois de la remplacer par une constante chaîne de caractères. Donc, vous avez probablement besoin d'une plus longue liste d'valide référents.
votre hébergeur ne vous permet pas d'ajouter une .fichier htaccess?! CHANGEMENT D'HÉBERGEUR!
OriginalL'auteur drudge
Vous pouvez utiliser un script PHP pour récupérer les images en utilisant quelque chose comme:
<img src="mysite.com/getimage.php?id=001" />
et ont le script PHP de retour les données de l'image uniquement après avoir vérifié que le domaine de la HTTP_REFERER est le votre.
Si vous avez un compte orientée sur le site, je vous suggérons d'utiliser des sessions PHP comme vous l'avez dit et ont le script PHP de vérifier la session avant de retourner les données de l'image.
OriginalL'auteur Evan Mulawski
- Je utiliser les deux méthodes de vérification de l'utilisateur de gand et de et de référent. L'agent utilisateur-je vérifier .htaccess. Et référent de vérification au fichier php. Vous pouvez le voir à http://coloring-4kids.com
Voici mon code:
watermark.php
OriginalL'auteur janejoung
Cela va être difficile à faire. Afin de permettre à vos clients de navigateurs web pour accéder aux photos, elles doivent être lisibles. Les autorisations de fichier ne fonctionnera pas parce que vous aurez besoin d'accorder l'accès au navigateur. Vous ne serez pas en mesure d'empêcher quelqu'un de les télécharger et de faire quelque chose avec eux.
Si vous ne voulez arrêter de faire un lien direct, si vous modifiez les noms de fichiers sur une base régulière et mise à jour de vos pages afin de refléter cela, d'autres pages de leurs liens cassés.
OriginalL'auteur Steve Rowe
Ajouter de la Règle de refus de votre .htaccess
OriginalL'auteur Ketan Borada