2009-03-18 8 views
2

J'utilise asp.net et mes utilisateurs ont besoin de télécharger des images privées sur mon serveur. Ces images ne peuvent en aucun cas se propager, j'ai donc besoin de les protéger d'une manière ou d'une autre. Quel est le moyen le plus simple de les protéger de l'utilisation publique afin que seul l'utilisateur autorisé puisse les atteindre?Protégez les photos, comment?

Merci!

+0

Vous devez être plus précis sur ce que vous voulez faire avec ces images après le téléchargement de l'utilisateur. Les archivez-vous, servez-vous à un groupe restreint, ou ... De quelle façon les gens devraient-ils y avoir accès? Sinon, vous pourriez juste les supprimer - cela ferait en sorte qu'ils ne se propagent pas ;-) – f3lix

Répondre

4

Utilisez un gestionnaire asp.net au lieu de servir directement les images. De cette façon, vous pouvez avoir un contrôle granulaire sur l'autorisation lors du service de l'image. De même, gardez les images hors des dossiers publics, afin que les utilisateurs ne puissent pas les télécharger, c'est-à-dire les stocker en dehors du dossier du site Web ou d'une base de données.

Cochez cette case pour un peu plus d'informations sur les gestionnaires: http://www.wrox.com/WileyCDA/Section/id-291916.html. Les deux échantillons servent des images, mais ils sont axés sur des scénarios assez spécifiques. Comme vous pouvez le voir dans ceux-ci, vous avez un contrôle complet sur la logique que vous implémentez là-dedans, ainsi vous pouvez vérifier si l'utilisateur demandant l'image est autorisé à télécharger l'image spécifiée.

8
  • Souhaitez-vous que le public puisse voir les images, mais il est un peu plus difficile de les télécharger?

    Si tel est le cas, vous pouvez consulter the way Flickr does it, pour toute personne qui refuse d'autoriser les téléchargements. Ils déposent une image GIF transparente sur le dessus de l'image réelle, pour empêcher le téléchargement de l'image en cliquant dessus avec le bouton droit de la souris.

    Il est encore assez facile de les télécharger, car en règle générale tout ce que le public peut voir, ils peuvent enregistrer sur leur disque dur. Je vois donc des tentatives pour empêcher le téléchargement de matériel visible publiquement comme assez futile; et surtout juste une violation de l'utilisabilité. Peut-être devriez-vous penser à des voies légales plutôt qu'à de l'obscurcissement; énoncez votre avis de droit d'auteur et toute licence que vous voulez clairement et soyez prêt à poursuivre toute personne qui les vole.

  • Voulez-vous autoriser les utilisateurs à consulter et télécharger des images de votre site, mais à ne pas les mettre en lien direct avec d'autres sites? Si tel est le cas, la clé est de détecter l'en-tête référent (sic) envoyé, et de refuser l'image si le référant n'est pas une correspondance. Notez que si le referer est vide, vous devez lui faire confiance par défaut, car la plupart des navigateurs n'envoient légitimement pas de referer même lors de la visualisation sur votre propre page.

    Ceci est généralement effectué dans une directive serveur; Si vous utilisiez Apache, vous le feriez in an .htaccess file using mod_rewrite directives. Si vous êtes sur IIS, cependant, je suis moins clair, bien que these instructions may or may not help.

  • Ou, voulez-vous empêcher le public de pouvoir les voir? Si c'est le cas, vous devrez juste utiliser le contrôle d'accès sur le serveur que vous utilisez - voici access control instructions for IIS.

+0

@thomasrutter Je suis d'accord que vous ne pouvez pas faire grand-chose pour empêcher un utilisateur autorisé d'enregistrer l'image et de la diffuser en dehors de votre système. Cela ne signifie pas que vous êtes libre de laisser quelqu'un d'autre autorisé à télécharger les images de l'utilisateur directement depuis le système. – eglasius

+0

@Freddy Rios, si le blocage de personnes non autorisées est ce qui est souhaité, alors c'est un problème de contrôle d'accès - vous devez le faire pour que les personnes non autorisées ne puissent pas accéder aux images du tout. Mais pour permettre aux gens de les voir, il n'y a aucun moyen physique de les empêcher de les sauvegarder ou de les copier, seulement des moyens légaux. – thomasrutter

+0

@thomasrutter d'accord, relisez la question :) --- Je pense que c'est exactement à ce sujet (autorisation), notez que vous pouvez parfaitement autoriser les images sur une base par utilisateur/groupe – eglasius