mon script de protection des images en php

  • Auteur de la discussion Auteur de la discussion aladdin
  • Date de début Date de début
WRInaute passionné
j'ai developpé un script de protection d'image contre la copie en php, et j'aimerai pourvoire le tester sur le plus de navigateurs et de plateforme possible...
je l'ai testé avec firefox et mozilla et ça marche nikel et vu que j'ai pas windoz chez moi, j'ai pas pu faire beaucoup de tests, mais apparement il y a des problèmes avec ce navigateur car meme si je lui demande de pas mettre les images en cache il les a garder pendant un petit moment !!!

j'ai utilisé le script pour proteger cette gallerie http://oujdacity.net/pt/

essayez de copier les images (les grandes images pas les previews)

et si quelqu'un a une idée efficace contre le cache d'Internet explorer ça m'interresse ;)
 
WRInaute passionné
je crois pas qu'on peut éviter le impr écran, mais avec un water-mark et la perte de qualitée en gendrée par le impr-ecran, je crois que ça pose pas vraiment un problème .... ceci dis, je suis entrain d'y réflechir ;)
 
WRInaute passionné
et hop le impr ecran est reglé :D

@Madrileno : >la question est tu peux nous montrer le script ?

le script actuel permet de proteger une seule image par page car il utilise des var de session pour stocker le chemin de l'image(et il est un peut mal codé :p )
mais je compte le mettre sur sourceforge (avec du bon code, des commentaires et tout ;) )

je veux aussi l'adapter pour qu'il soit installable facilement et qu'il protège toutes les images du document par exemple ... car pour l'instant il faut rajouter 5 lignes pour proteger une image et bricoler deux fichiers php selon les cas ....
 
WRInaute passionné
heuu oui, j'ai oublié de dire qu'il faut pas se contenter de faire en "enregistrer l'image sous" car les personnes mal veillantes vont souvent regarder le code html de la page ... donc n'hesitez pas, le code n'est pas protegé ;)
 
WRInaute impliqué
Le script semble marcher très bien.
En revanche, le xhtml 1.1 (ce qui est, je le rappelle, une aberration pour le moment), c'est (pour l'instant) une bonne blague.
 
WRInaute impliqué
La bellle image:
bgphp1sx.jpg


Et pas besoin d'aller chercher dans le cache.
 
WRInaute passionné
Madrileño a dit:
Mais on pourrait voir la source pour la tester aussi ? :oops:

oui oui mais pour l'instant c'est un gros bordel integré à la gallerie, je vais tout séparrer, et mettre au propre (mais pas tt de suite, je suis au boulot là) et je publirai le code des que possible, c'est promis ;)
 
WRInaute passionné
@shrom
t'a utilisé internet explorer ? je sais qu'il ya une faille avec ce navigateur :(

on n'a pas besoin d'aller chercher l'image dans le cache, il suffit de mettre le lien et il vas la charger (car elle est deja dans le cache), et c'est ceque je veux éviter moi
 
WRInaute impliqué
En fait, si je comprend ton script, il génére un identifiant à chaque fois que la page est chargée:

Code:
http://oujdacity.net/pt/index.php?view=slideshow&gallery=./img/Patrimoine&slideshow_index=12

aura dans son source à chaque fois bg.php?uid=xxxxx avec uid différent, pour afficher la même image. Une fois l'image affichée, je suppose que l'uid est effacé de la base.

Il suffit donc d'afficher la page sans les images et on obtient un uid non utilisé et hop on récupère l'image.
 
WRInaute passionné
non non c'est pas comme ça que ça marche, le uid c'est un timestamp generré à la volée pour chaque image, si pendant le meme milliseconde deux utilisateur cliquent sur deux images differentes elles auront le meme uid ;) , c'est juste pour avoir un identifiant unique de l'image pendant une cerainne durée ...
essai d'utiliser la methode que tu a décrite, tu verra que ça marche pas ...
par contre je crois avoir compris pourquoi on arrive comme meme à récuperrer les images parfois : en fait je crois que le navigateur la récupère directement de la memoire et pas dans le cache ...
il faudra que je trouve une solution à ça ...
 
WRInaute impliqué
Cela semble pas mal comme systeme.
C'est le premier script que je vois qui bloque quand même pas mal la copie.
Bon il reste le impr écran, mais ça... personne ne pourra rien y faire... :wink:
 
WRInaute impliqué
aladdin a dit:
essai d'utiliser la methode que tu a décrite, tu verra que ça marche pas ...

Ben, c'est celle que j'ai utilisé.

par contre je crois avoir compris pourquoi on arrive comme meme à récuperrer les images parfois : en fait je crois que le navigateur la récupère directement de la memoire et pas dans le cache ...

Je peut les récupérer avec wget si tu veux et la y a pas d'histoire d'image en cache.
 
WRInaute passionné
Je peut les récupérer avec wget si tu veux et la y a pas d'histoire d'image en cache.[/quote]

t'a essayer avec wget ??
et t'a visualisé les images que tu récupère ?
 
WRInaute impliqué
Commentça le impr écran est réglé????

mais en fait c'est pas possible....
Ton image est toujours dans le cache du navigateur....
 
WRInaute accro
pas mal mais pas infaillible ;-)

loinnn de là...


en tout cas il ralenti l'affichage des images :s
 
WRInaute impliqué
C:\Documents and Settings\VOTREUSER\Local Settings\Temporary Internet Files\bg.php?uid=1115122796

bg2am.jpg
 
WRInaute impliqué
oups pardon... :?
Mais je ne vois pas comment tu vas pouvoir faire...
A partir du moment ou l'image est chez le client, il pourra la récupérer puisqu'elle est sur son poste....

Et comment est réglé l'impr écran, je ne vois pas ce que tu as fait?
Parce que ça, cela marchera toujours.
 
WRInaute passionné
si j'arrive à empecher le cache de l'image le client ne vas pas la stocké sur le DD mais seulement dans le buffer du navigateur, et il sera donc impossible de la récuperrer ....

sinon pour le impr ecran, ça protège seulement sous internet explorer, en utilisant la methode clipboardData.clear() ;)
 
WRInaute accro
chreches aps a regler le cache IE :-) soit en face t as un boss et quoi qu'il arrive, il la recuperera la photo, soit tu as un utilisateur lambda et ton systeme de protection est de loin suffisant :-)
 
WRInaute accro
un simple anti click droit ça empèche déja 95 % des internautes de récupérer l'images alors pourquoi vouloir aller dans des extrèmes
 
WRInaute impliqué
aladdin a dit:
sinon pour le impr ecran, ça protège seulement sous internet explorer, en utilisant la methode clipboardData.clear() ;)
Ah ok ça marche pour IE... mais du coup c'est super pénible, parce que tant que j'ai une page de ton site ouverte,, il m'est impossible de faire un copier coller dans une autre appli 8O
 
WRInaute passionné
e-kiwi a dit:
chreches aps a regler le cache IE :-) soit en face t as un boss et quoi qu'il arrive, il la recuperera la photo, soit tu as un utilisateur lambda et ton systeme de protection est de loin suffisant :-)

perso je fait ça juste pour le fun, meme la gallerie d'image que je protège actuellement avec ce script le sera plus quand il sera fini ;)

c'est comme un défi, je veux faire un truc qui soit le plus sécurisé possible, et pour l'histoire du cache, je ne crois pas que c'est inpossible, j'ai pleins d'idées là au je vais tester chez moi ce soir :
par exemple : charger une image du meme nom juste après le chargement de l'image d'origine (comme ça elle sera écrasé ;) ) ... à suivre
 
WRInaute accro
>> c'est comme un défi, je veux faire un truc qui soit le plus sécurisé possible

fais le en java :-)
 
WRInaute passionné
jeromax a dit:
aladdin a dit:
sinon pour le impr ecran, ça protège seulement sous internet explorer, en utilisant la methode clipboardData.clear() ;)
Ah ok ça marche pour IE... mais du coup c'est super pénible, parce que tant que j'ai une page de ton site ouverte,, il m'est impossible de faire un copier coller dans une autre appli 8O

ah merde j'av pas pensé à ça !!
 
WRInaute passionné
tu m'etonne, rien que la machine virtuelle consomme 64Mo au lancement, et si t'a deux applications java qui tournent en meme temps alors là c'est la fete ... :lol:
 
WRInaute impliqué
Un petit script PHP pour récupérer les images:
Code:
<?php
$url = "http://oujdacity.net/pt/index.php?view=slideshow&gallery=./img/Patrimoine&slideshow_index=12";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$cookieFile = "/tmp/cookie";

$c = curl_init();
curl_setopt( $c, CURLOPT_URL, $url );
curl_setopt($c, CURLOPT_USERAGENT, $agent);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec( $c );
curl_close( $c );

preg_match( '/bg.php\?uid=(.*)\);background/', $r, $match );

$uid = $match[1];

$url2 = "http://oujdacity.net/pt/bg.php?uid=".$uid;

$c = curl_init();
curl_setopt($c, CURLOPT_USERAGENT, $agent);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($c, CURLOPT_REFERER, $url);
curl_setopt( $c, CURLOPT_URL, $url2 );

header("Content-type: image/jpeg");

curl_exec( $c );

curl_close( $c );

?>
 
WRInaute passionné
bien joué ;) je l'ai pas testé mais ça a l'aire de fonctionner vu que j'utilise des variables de session pour passer le chemin de l'image ...
j'y avais pas penser :)

(ce qu'un informatitien peut faire ... un autre peut le defaire ;) )
 
WRInaute passionné
De toute façon, il est difficile d'empêcher la copie d'une image car de nombreuses techniques existent, mais je salut l'initiative :D
 
WRInaute impliqué
aladdin a dit:
bien joué ;) je l'ai pas testé mais ça a l'aire de fonctionner vu que j'utilise des variables de session pour passer le chemin de l'image ...
j'y avais pas penser :)

(ce qu'un informatitien peut faire ... un autre peut le defaire ;) )

De toute façon, quelque soit la protection que tu essaieras de mettre en place, elle pourra être contournée si tu n'utilises que le protocole HTTP.

Les seules solutions à peu près concluantes sont avec Flash, java et consort en pensant à chiffrer l'image et encore, on peut retrouver la clé dans le fichier flash ou class.
 
WRInaute passionné
bein le java peut etre décompilé de toute façon (jad powaaaa :p) et flash aussi, et comme tu dis avec http il y a touh=jours une methode pour récuperrer les données.
mais on peut toujours faire un script qui évite la plupart des tentatives de copie ...
 
WRInaute accro
Ce qui est amusant dans ce topic qc'est que l'auteur essaye de se protéger des vols d'images qu'il a visiblement lui même pillées dans des collections de cartes postales (sauf erreur de ma part )
:lol: :lol: :lol:
 
WRInaute accro
y a pas de raison . Ce que je trouve le comble c'est le rajout du copyright du site sur chaque carte ! honteux..
 
WRInaute passionné
Erazor a dit:
Ce qui est amusant dans ce topic qc'est que l'auteur essaye de se protéger des vols d'images qu'il a visiblement lui même pillées dans des collections de cartes postales (sauf erreur de ma part )
:lol: :lol: :lol:

je rappel que j'essai pas de proteger les images, la gallerie etait ouverte jusque ce matain, et elle redeviendra ouverte dans deux ou trois jours, j'ai fait ça juste pour tester le script ....

et pour le copyright, j'ai bien les droit de diffusion de ces images (ordre écrit de l'office de tourisme du maroc ;) )
 
WRInaute accro
et oui mais certains membres aiment bien parler sans savoir...
il est ou l icone "cassééé" de madrileno ? :-)
 
WRInaute passionné
en meme temps je les comprend ils etaient tellement excités d'avoir trouver le chemin réel vers les images,
sachant que je peut le changer à tout moment et que je peut faire une protection contre le hotlink, ça me pose pas vraiment de problème ...
ce qui m'interresse c'est le script de protection, que je vais essayer de perfectionner puis de publier le plutot possible ;)
 
WRInaute accro
aladdin a dit:
et pour le copyright, j'ai bien les droit de diffusion de ces images (ordre écrit de l'office de tourisme du maroc ;) )
ben y se mouillent pas la plupart viennent d'éditeurs français, non ?
maintenant biensur tu est couvert :wink:

e-kiwi a dit:
et oui mais certains membres aiment bien parler sans savoir...)
le pb c'est que ces droits photos ne sont pas a eux a coup quasi sur . la collection de cartes certainement ....
PS : et le PR 0 t'en est ou ?
 
WRInaute passionné
Erazor a dit:
ben y se mouillent pas la plupart viennent d'éditeurs français, non ?
maintenant biensur tu est couvert :wink:
bon un peut d'histoire :
les photos viennent de l'époque du protectorat français sur le Maroc...
il etait pris par des français pour des livres des carte postales, des photos ...etc .
ensuite, quand la France est sortie du maroc, ce genre de document "historique" à été récuperré par les administrations marocainnes ...
les photos que tu vois sont des "restes" de document qui ont été restorés et numérisés (c'est du patrimoine), quand j'ai réalisé mon site j'ai profité d'un séjour au maroc pour prendre contacte avec l'office de tourisme et leur présenter mon site, et il ont bien accepter de me fournir certains documents ainsi que ces photos que j'ai retraiter et publier sur mon site avec leur autorisation ...

voilà pour l'histoire ...

tous ça pour dire, que c'est pas des images que j'ai copier/coller sur un site, j'ai fournis un effort pour les récuperrer et j'estime avoir le droit de faire figurer le nom de mon site dessus ...

voilà voilà , je n'ai rien à prouver et je ne comprend pas les gens qui détournent le problème, le but de ce post etant à la base un script en php pour proteger des images ?!
 
WRInaute accro
bah si demain un site te pompe tes repros de cartes postales tu te ne pourras rien faire quoique t'en pense et malgré ton travail de restauration/scannage parce les droits ne t'appartiennent pas ( pas plus qu'au maroc )
Je trouve inutile de protéger ce genre d'images c'est tout. Parce que celui qui aura vraiment la volonté de les reproduire il y arrivera d'une manière ou d'une autre
 
WRInaute passionné
bein c'est comme ça que ça marche les droits, que se soit des droits d'auteurs ou autre ...
quand tu conduit ta voiture et qu'il y a pas de police au feu rouge, tu le respecte comme meme, meme si t'es certain de ne pas avoir de PV et que personne ne peut t'en empecher ...
bein pour les droits d'auteur c'est la meme chose, il sont là pour dire qu'une oeuvre ou un produit est protegé, et pas pour empecher ça copie ...

c'est juste une question de respect et meme les licences libres se base la dessus, quand tu récupère le code source d'un programme sous GPL, tu dois le redistribuer en tan que GPL et mettre le nom d'auteur d'origine, et ne pas faire de benefice commercial sans l'approbation de l'auteur .... contrairement à ce que font beaucoup d'individus :p
 
WRInaute discret
bonjour
tjrs intéréssé pour connaitre la source ou même le principe
même si apparement via un script de download on peut les recuperer, ça me semble pas mal!
 
WRInaute passionné
t'inquiète moi aussi je suis toujours entrain de developpé le script, j'essairai de l'améliorer encore et de le rendre plus facile d'utilisation, car comme j'ai dis, il est un peut tordu à mettre en place actuellement.
 
WRInaute discret
Sympa le site et le petit projet.
Au fait, empecher le clic droit ca marche pas tant que ca, mon petit frere qui est venu passer une semaine chez moi ma fait voir comment contourner ca presque a tout les coups, en appuyannt sur shift ou ctrl (me rappelle plus) et clique droite !!
 
WRInaute passionné
lol, je sais, mais j'ai trop de boulot en ce moment j'aurai du attendre un peut avant de faire ce post ;)


tient je metterai bien un allopass pour acceder au script :p .... non plus sérieusement, je vais rédiger un petit article avec un petit code bien documenté, et s'il ya des contributions, peut etre qu'on aboutira à une protetion presque parfaite :D
 
WRInaute passionné
aladdin a dit:
lol, je sais, mais j'ai trop de boulot en ce moment j'aurai du attendre un peut avant de faire ce post ;)


tient je metterai bien un allopass pour acceder au script :p .... non plus sérieusement, je vais rédiger un petit article avec un petit code bien documenté, et s'il ya des contributions, peut etre qu'on aboutira à une protetion presque parfaite :D
Ne te presse pas non plus, je ne suis pas pressé et puis on va pas te brusquer car tu n'est pas obligé de le distribuer et c'est déjà bien gentil de ta part de penser à nous :D
 
WRInaute passionné
je suis un pro OpenSource, d'ailleur meme pour mes sites ça fait longtemps que je n'utilise que des logiciels OpenSource, et ça fait 2ans que ma machine n'a pas eu de partition fat ou ntfs ;)

le script sera bien ouvert pas seulement pour faire plaisir à tout ceux qui l'attendent mais pour permettre à d'autres de l'améliorrer


là je vient de corriger le problème avec le cache internet explorer, normalement il n'est plus possible de recuperrer les images à partir du cache ...

reste la fameuse librairie curl !!!
mais là je crois que je n'y peut rien car elle est casi indetectable (vue qu'on peut changer les entete HTTP) mais je vais faire des recherches .
 
WRInaute discret
Il y a un truc tres bien avec Firefox, c'est l'extension "Web Developper".
Ca t'ajoute une superbe barre qui permet entre autres de lister toutes les images d'une page.
Et parmi la liste, on retrouve l'image en question, suffit d'utiliser le superbe bouton "Enregistrez sous"...
 
WRInaute passionné
et dans ce cas tu récupère la bonne image ??

si oui, peut tu me donner le numero de version de firefow que t'utilise ?
 
WRInaute discret
Pour toi c'est laquelle la bonne image ??

Celle sans l'ombrage ?

J'utilise la derniere version stable (1.0.3)
 
WRInaute passionné
merci pour l'info :)

la bonne image c'est l'image que tu vois dans le préview (avec l'ombrage)

je crois que je peut bloquer ça avec un .htaccess si webdevlopper n'utilise pas le meme HTTP_USER_AGENT que firefox pour récuperrer les image, je vais voir ce soir
 
WRInaute impliqué
Avec ie 6.0, on peut toujours récupérer l'image dans le cache.
J'ai bien 2 images avec le même nom, une de 29ko et l'autre qui correspond à celle que tu veux cacher.
 
WRInaute passionné
rrrrrr... ça commance à m'enerver ce navigateur ... :twisted:

tu dis bien que tu a deux images du meme nom ??
j'avais tenter de charger une image du meme nom pour écraser l'image réel, mais apparement ça marche pa ... bon je dois trouver donc un moyen pour empêcher le cache
 
WRInaute impliqué
oui, une que tu appelle de
-http://oujdacity.net/pt/bg.php?uid=1115206242
et l'autre de
-http://www.oujdacity.net/pt/script/bg.php?uid=1115206242

Comme tes images proviennent de 2 adresses différentes, le navigateur considère que ce n'est pas la même. Ce qui est logique finalement.
 
WRInaute discret
Laisse tomber ;)
Je n’ai pas essayé avec impr écran, mais en tout cas la capture avec Ifran est possible.
Je pense que ça marche avec tous les softs qui permettent la capture, et dont 90% d’utilisateurs qui s’intéressent de près ou de loin à l’image numérique en sont équipés.
 
WRInaute discret
Pour un site comme le mien, la protection des images est importante.

Et pas la peine de délirer avec les droits des images que je diffuse, elles sont la propriété des membres du site qui les ont déposées en donnant leur accord pour leur diffusion :wink:

Tiens nous informés
 
WRInaute passionné
vraiment moi je dit chapeau a ton script

c'est l'un des meilleurs :d

ca vas en ennerver plus d'un de plus pouvoir pomper d'images lol
 
WRInaute discret
d'autant qu'il faut rester réalistes : ce type de scripts ne gênera que les internautes moyens, mas les amateurs avertis
 
WRInaute passionné
aladdin a dit:
@shrom
t'a utilisé internet explorer ? je sais qu'il ya une faille avec ce navigateur :(

on n'a pas besoin d'aller chercher l'image dans le cache, il suffit de mettre le lien et il vas la charger (car elle est deja dans le cache), et c'est ceque je veux éviter moi

Pour ma part, avec IE, Firefox, Mozilla... et sans doute tous les autres au bout de 2 mn de réflexion :

Je précise bien que ce n'est que de la réflexion et aucun bidouillage dans le cache : une simple adresse déduite de 2 informations :!:

-www.oujdacity.net/***/im*/P********oine/1.jpg...à 63.jpg inclus

Je contnue ou pas :P

Un conseil : masque le chemin d'accès et surtout le nom de l'image réelle ;)
 
WRInaute impliqué
Neoced a dit:
Pour un site comme le mien, la protection des images est importante.

Et pas la peine de délirer avec les droits des images que je diffuse, elles sont la propriété des membres du site qui les ont déposées en donnant leur accord pour leur diffusion :wink:

Tiens nous informés

Tu n'as qu'a les tagguer dynamiquement a l'upload :)
 
Discussions similaires
Haut