Question

Je suis en train de créer un site Web contenant un certain nombre d’images, dont certaines ne peuvent pas être visionnées par le grand public. J'imagine que j'enverrai par courrier électronique à un utilisateur un nom d'utilisateur et un mot de passe lui permettant de "s'identifier". pour voir mon travail.

J'ai vu diverses solutions au "masquer une image". problème en ligne, y compris le suivant, qui utilise le readfile de PHP. J'ai également vu un autre qui utilise .htaccess.

Utiliser le readfile () ou la redirection de php pour afficher un fichier image?

Je ne suis pas fou de la solution readfile, car cela semble lent à charger les images, et j'aimerais pouvoir utiliser FancyZoom de Cabel Sasser, qui nécessite un accès sans entrave à l'image (sa bibliothèque veut un lien à l’image en taille réelle), ce qui exclut .htaccess.

Pour récapituler ce que j'essaie de faire:

1) Fournissez un site sur lequel je donne aux utilisateurs la possibilité de s’authentifier comme quelqu'un que je voudrais regarder mes images. 2) Empêcher les utilisateurs Web aléatoires de voir ces images. 3) Utilisez FancyZoom pour agrandir les vignettes.

Je me moque de la technologie utilisée - Javascript, PHP, etc. - quelles que soient les technologies les plus propres et les plus simples.

En passant, je suis un développeur Java, pas un développeur Web, donc je ne pense probablement pas au problème correctement.

Était-ce utile?

La solution

Au lieu de fournir un lien vers une image. Fournissez un lien vers un script cgi qui fournira automatiquement l'en-tête et le contenu appropriés de l'image.

Par exemple: image.php? sample.jpg

Vous pouvez ensuite vous assurer qu'ils sont déjà authentifiés (par exemple, passer un identifiant de session) dans le cadre du lien.

Cela ferait partie de l'en-tête et vos données d'image pourraient suivre.

header('Content-Type: image/jpeg');

Éditer: s'il doit être rapide, vous pouvez l'écrire en C / C ++ au lieu de php.

Autres conseils

L'utilisation de .htaccess devrait être la méthode la plus sûre / la plus simple , car elle intègre les fonctionnalités du serveur Web lui-même.

Je ne sais pas si cela répond à vos besoins, mais j'ai résolu un problème similaire (donner des images à un groupe restreint de personnes) en utilisant TinyWebGallery , qui est une petite application de galerie sans base de données .

Vous pouvez autoriser l’accès à différents répertoires par mot de passe et vous pouvez télécharger des images directement dans le système de fichiers, TinyWebGallery recherchant les nouveaux répertoires / images à la volée. Il générera des vignettes et donnera aux utilisateurs la possibilité de noter / commenter les images (vous pouvez le désactiver).

Ce n’est pas le plus petit des outils. Cependant, il est beaucoup plus facile à configurer que d’utiliser des directives Apache et il a meilleure apparence en tant que images nues .

Si vous utilisez Nginx , vous pouvez utiliser le module Lien sécurisé .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top