Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Sécurité
Sécurité Forum d'entraide sur la sécurité des sites Web, les protections, l'authentification, etc. Avant de poster -> Cours Sécurité.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2011, 16h49   #1
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 148
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 148
Points : 35
Points : 35
Par défaut Affichage d'une image protégé par un .htaccess "deny from all"

Bonjour,

J'aimerai protéger les photos des utilisateurs de mon site.

Pour cela, elles se situent dans un répertoire protégé par un .htaccess avec à l'intérieur "deny from all".

Le problème est que je n'arrive pas à afficher les photos maintenant, c'est ballot ^^.

j'ai donc trouvée une solution qui consiste à créer un script php de la sorte :
et à l'appeler via une balise image
Code :
<img src='script.php' />
Le problème est qu'il est impossible d'afficher une autre image que celle écrit en dure "mon_image". Donc j'essaye de faire passer une variable:
Code :
1
2
3
4
5
6
<img src='script.php?img=mon_image' />
//ou
<img src='script.php/image.jpg' />
//ou
putenv("img=mon_image");
//mais la variable n'existe pas dans l'autre script car on change de script
Si vous avez une solution, je suis preneur (qu'elle soit dans la lignée de ce que j'ai commencé ou différente).

PS:J'ai entendu parler du hotlinking mais les images sont-elles réellement protégées ?
vocal94130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h27   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
le hotlinking n'a rien à voir.

Et à partir du moment où on affiche une image sur un site, il y a toujours moyen de la copier ou la télécharger.

Il est toujours possible de "prévenir" les internautes que l'image est protégée en droit (copyright).
Mais vouloir interdire à tout prix la copie me semble illusoire ...

On peut aussi ajouter un watermark sur les images ...
C'est ce que font les banques de photos (payantes) comme ici
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 19h02   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
J'aimerai protéger les photos des utilisateurs de mon site.
Ce qu'il faut bien comprendre, c'est que pour afficher une image, le navigateur doit la télécharger ! Il est donc impossible de l'empêcher !
Quelle que soit la méthode employée pour dissuader (désactivation du clic droit, du glisser déposer et j'en passe), l'image est déjà dans le répertoire cache du navigateur.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 10h57   #4
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 148
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 148
Points : 35
Points : 35
L'affichage des images se fait dans un espace sécurisé par mot de passe. Il n'est pas gênant que les utilisateurs ayant accès puissent télécharger les images, c'est pour ceux qui n'ont pas accès mon problème.

Est-ce que le fait d'empêcher le listage du répertoire et de mettre des noms d'images longs peut être utile? A ce moment la je retirerai le .htaccess
vocal94130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 14h29   #5
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 148
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 148
Points : 35
Points : 35
J'ai finalement trouvé la solution.

J'utilise la réécriture d'URL avec apache.
Mon code pour afficher l'image est le suivant (dans ma page d'affichage):
Code :
<img src='mapage_image.php' alt='' title='' />";
Mon URL Rewriting est (dans le .htaccess à la racine du site):
Code :
RewriteRule   ^mapage_([a-zA-Z0-9\.]*)\.php$   print_img.php?img=$1  [L]
En gros je récupéré le texte "image" qui va être renvoyé en tant que variable $1 à ma page php qui affichera simplement avec un readfile ma variable (dans le print_img.php):
Code :
1
2
3
4
<?php
	$img = htmlentities($_GET['img'],ENT_QUOTES);
	readfile("/photos/".$img);
?>
J'espère que ça pourra aider quelqu'un
Merci de votre aide
vocal94130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 14h48   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
si le but du jeu était de cacher le nom de l'image dans le code source, c'est raté, puisqu'il apparait en clair :
Code :
<img src='mapage_mon-image.jpg.php' alt='' title='' />";
Il est assez facile de remonter jusqu'à l'image elle-même : /dossier-photos/mon-image.jpg

Peut-etre peut-on envisager de crypter ce nom d'image avant :
Je suis tombé sur ca : mcrypt_encrypt() / mcrypt_decrypt()
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 20h02   #7
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 148
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 148
Points : 35
Points : 35
En fait le dossier est protégé par un .htaccess avec "deny from all". Donc peu importe si le nom apparait ou pas non ?

Je note les fonctions de cryptage, interessant
vocal94130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web