begin process at 2012 05 29 00:38:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

cryptage/décryptage de fichiers stockés dans une base de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

cryptage/décryptage de fichiers stockés dans une base de données

mardi 20 septembre 2011 à 18:10:00 | cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Hello,

Je rencontre actuellement un problème que je ne parviens pas à résoudre :
J'ai une base de données qui contient différentes informations du type "pseudo", "age", "ville", etc., ainsi que les urls des photos de chaque membre (enfin urls que je recrée suivant les données lors de la construction de ma page).

Bref, c'est justement concernant l'affichage des photos que je coince :
En fait j'essaie de crypter l'url des photos afin que celles-ci soient plus délicates à enregistrer sur n'importe quel disque dur.
Pour ce faire j'ai trouvé différents scripts qui marchent à ravir lorsqu'on déclare le chemin des photos en dur dans la page html, hors aucun de ces scripts ne fonctionne avec la récupération de mes données issues de ma BDD. Je m'interroge donc : aurai-je manqué un épisode ?

Voici par exemple un des scripts que j'utilise pour crypter :
Code PHP :
//fonction pour crypter :
<?php
	function cd($texte)
  	{
        $key = 'toto_secret';
        $iv_size= mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        return base64_encode(mcrypt_encrypt(MCRYPT_XTEA, $key, $texte, MCRYPT_MODE_ECB, $iv));
  	}
?>
[code=php]

Le script que j'utilise pour décrypter :
[code=php]<?php

include 'cd.php';

function dec($texte)
  {
        $texte = base64_decode($texte);
        $key = 'toto_secret';
        $iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $decrypt = mcrypt_decrypt(MCRYPT_XTEA, $key, $texte, MCRYPT_MODE_ECB, $iv);
        return $decrypt;
  }
  
  $filename=$_GET["filename"];
  readfile(dec($filename));
?>


et par exemple le script de ma page principale (je vous épargne la totalité) :
Code PHP :
include 'cryptage.php';

//là je récupère l'url de la photo à afficher suivant le pseudo du membre :
$maPhoto = "images/".utf8_encode($donnees['PSEUDO'])."/photo1.jpg";


//puis je stocke cet url dans un array qui s'incrémente lors de ma boucle :
$monTab[$NB] = $maPhoto;

//plus loin dans ma partie html j'affiche (du moins j'essaie) ma photo :

<img src="decryptage.php?filename=<?php echo encrypt($monTab[0]) ?>" />


Et rien à faire la photo ne s'affiche pas...
Pourtant si je teste avec ceci par exemple :
Code PHP :
$maPhoto = "images/photo1.jpg";


Et que je passe $maPhoto dans ma balise <img /> ça marche nickel.

Bref, si vous avez une idée je suis preneur car je ne trouve pas.

Merci ;)


BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
mercredi 21 septembre 2011 à 16:59:53 | Re : cryptage/décryptage de fichiers stockés dans une base de données

cod57

bonjour

readfile(dec($filename));
pourquoi pas
dec($filename);

Bonne programmation !
mercredi 21 septembre 2011 à 17:45:05 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Hello cod57,

merci pour ta réponse . Je tente de voir ce que ça donne et je te tiens au courant.

A plus ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
mercredi 21 septembre 2011 à 17:57:58 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Re,

bon et bien j'ai tenté et j'ai fait choux blanc...
Perso je pige pas d'où vient le problème : j'ai inséré ma fonction contenue dans le fichier de contrôle afin de faire un echo de l'image à décrypter dans ma page et tester si le décryptage est le correct et... Le décryptage est bien correct donc je ne comprends vraiment pas.
J'ai une autre classe encryptage/décryptage que je dirai être plus puissante, j'ai évidemment testé avec celle-ci et le résultat est le même : l'image ne s'affiche pas... C'est à devenir fou !

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
mercredi 21 septembre 2011 à 20:54:32 | Re : cryptage/décryptage de fichiers stockés dans une base de données

cod57

re

j'ai realisé un petit script qui fonctionne


ecrire.php
Code PHP :
<?php 
function dec($texte){
$texte = base64_decode($texte);
$key = 'totosecret';
$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$decrypt = mcrypt_decrypt(MCRYPT_XTEA, $key, $texte, MCRYPT_MODE_ECB, $iv);
return $decrypt;
}

if(isset($_GET['f'])){
$f=urldecode($_GET['f']);
//echo '<hr>';
$f=dec($f); 

header('Content-Type: image/jpeg');
$f=imagecreatefromjpeg(urldecode($f));
imagejpeg($f);
imagedestroy($f);
}else{
}
?>


lire.php
Code PHP :
<?php
function cd($texte){
$key = 'totosecret';
$iv_size= mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return base64_encode(mcrypt_encrypt(MCRYPT_XTEA, $key, $texte, MCRYPT_MODE_ECB, $iv));
}

echo $monTab[0]='images/toto.jpg';
echo '<br>';
echo $monTab[0]=urlencode($monTab[0]);
echo '<br>';
echo $monTab[0]=cd($monTab[0]);
echo '<br>'; 

?>

<img src="test.php?f=<?php echo urlencode($monTab[0]);?>" />


il faut une image
images/toto.jpg


Bonne programmation !
mercredi 21 septembre 2011 à 22:07:15 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Re cod57,

je viens d'essayer ton code et malheureusement ça ne marche toujours pas, ce qui tendrait à me confirmer ce que je commençais à me dire : le problème ne vient peut-être pas de la fonction encryptage/décryptage, mais peut-être d'ailleurs. En effet j'utilise une autre fonction d'encryptage/décryptage utilisée pour récupérer et déchiffrer les données stockées dans ma BDD, et je me dis qu'il y a peut-être un conflit ou je ne sais quoi.
Je vais donc axer mes recherches là-dessus car je ne vois plus d'autres explications, tu as retravaillé un script qui marche en "soliste" et qui ne fonctionne plus une fois inséré dans ma page. Moi-même les deux scripts que j'ai essayés marchent aussi très bien en-dehors de ma page, donc j'en conclue que le problème se trouve dans ma page et non dans les scripts testés.
En tout cas un grand merci à toi d'avoir pris du temps pour m'aider à résoudre mon soucis .
Je reposte dès que j'aurai trouvé le problème.

A plus

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
mercredi 21 septembre 2011 à 22:21:40 | Re : cryptage/décryptage de fichiers stockés dans une base de données

cod57


oui le problème doit être ailleurs
en tout je trouve pas mal cette technique pour cacher le lien réel ... ++
Bonne programmation !
jeudi 22 septembre 2011 à 13:12:23 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Hello cod57,

effectivement le code est pas mal pour cacher l'url d'une image, d'un mp3, ou encore d'une vidéo. Si ça intéresse j'ai une classe PHP encore plus aboutie qui permet de générer des urls cryptés qui sont temporaires ; en gros tu configures le temps de vie de l'url crypté via un timestamp et à chaque fois que tu recharges la page l'url crypté sera différent mais renverra le fichier souhaité.

Quoi qu'il en soit je pense que mon problème vient de l'encodage/décodage des données dans ma BDD. Je n'avais jusqu'à présent testé que sous Safari, et en testant sous Chrome et Firefox les images ne s'affichent pas même sans cryptage de l'url, et en regardant dans le code source j'ai des caractères merdiques de ce type :
Code HTML :
images/album/toto&#65533;&#65533;&#65533;&#65533;/1.jpg


"toto" est sensé être le nom d'un membre, nom de dossier également où se trouvent les photos respectives du membre, et comme tu le vois les 4 caractères après "toto" n'ont bien évidemment pas lieu d'être. De plus ces caractères n'apparaissent pas dans le code source sous Safari, ni sous Chrome, mais sous Firefox ils sont visibles. Donc j'en déduis que c'est de là que vient le souci.

En gros voici comment je procède :
mes données sont stockées après encryptage dans ma BDD, l'encryptage en question n'est ni plus ni moins que le script que j'ai mis dans mon 1er post.
Lors de la récupération des données dans mes pages je décrypte celles-ci et les encode en UTF8 pour les données "texte" afin d'avoir la bonne retranscription des accents (vu que pour les rentrer dans la BDD je les décode pour avoir justement les accents). Et je pense que c'est le "utf8_encode" lors de la récupération qui fout le bazar.
Je vais donc tester sans le utf8_encode, ou alors en encodant autrement, afin de ne plus avoir ces caractères.

Si tu as des suggestions pour l'encodage des données autrement qu'avec "utf8_encode" je suis preneur .

A plus ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
jeudi 22 septembre 2011 à 13:14:44 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Raah,

la baise html n'était pas appropriée... Voici ce que j'ai dans le code source :

images/album/toto&#65533;&#65533;&#65533;&#65533;/1.jpg

Et les points d'interrogation sont en fait dans des losanges noirs.


BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono
jeudi 22 septembre 2011 à 13:16:10 | Re : cryptage/décryptage de fichiers stockés dans une base de données

BBFUNK01

Bon ben ça veut pas s'afficher correctement

En fait après "toto" il y a 4 points d'interrogation incrustés dans des losanges noirs.

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

musichrono

1 2

Cette discussion est classée dans : code, php, données, url, photos


Répondre à ce message

Sujets en rapport avec ce message

Question de sécurité [ par zzzzzz ] Salutj'ai pas mal de page en php. Je me demandais quels sont les risques rééls sur les url. genre on rajoute un code apres l'url ? on pourrai ainsi in probleme entre php et javscript [ par nico606 ] Slt voila mon script qui a du mal a marcher bref il ne fonctionne pas voila les sources: j'ai creer un service permetant d'ecouter la radio sur son si Problen de redirection d'url [ par balmode ] salut Je cherche un script  php/mysql  capable de rediriger  mes visiteurs a partir d'un url de forme : http://monsite/redirect.php?code=id  vers un u Lister les données d'une réponse PHP (Stats BF2) [ par AlexPoulard ] Bonjour,j'ai trouvé sur un site ce code php permettant de récupérer les statistiques battlefield d'un joueur : voici le code : $pid = 'FatalWeapon'; $ Include [ par w_minisplash_w ] Bonjour à tous,Prenons un exemple (une belle faille include) :on a la page http://www.monsite.com/mapage.php?url=uneurl : <font color="#ff0000" face Récupérer les données dans un input suite à une requête dans une autre pas PHP [ par patachon_76 ] Bonjour,Voilà dans mon premier input il y a l'indentifiant de ma table.  Je clique sur le bouton 'Envoyer' et là il fait la requête dans une autre pag Url en php [ par breezer666cs ] J'ai 1 bouton et un hyperlink dans mon code:            BOBj'essaie Ajouter un code dans une url - Javascript - php ? [ par Xtaz991 ] BonjourJe voudrais créer une page sur laquelle je demande au visiteur de taper un code dans un champ.Puis lors de la validation je voudrais ajouter ce code pour masquer une url mais..... [ par Dav_c ] Voici le code en php Le but étant de masquer l'url dans un lecteur flv mais je me suis rendu compte Aide codage formulaire php pour base de données, toutes les données ne sont pas enregistrées. [ par sebing ] Bonjour, Je redemande votre aide, je veux améliorer mon formulaire, mais celui ne fonctionne plus. En effet une seule donnée est enregistrée dans la


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales