[RESOLU] remplacer le contenu d'un fichier texte sur le serveur après l'avoir crypté

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] remplacer le contenu d'un fichier texte sur le serveur après l'avoir crypté

Re: remplacer le contenu d'un fichier texte sur le serveur après l'avoir crypté

par LittleFairy » 08 juin 2015, 14:05

j'ai trouvé,
il fallait d'abord ouvrir et lire le fichier, puis le refermer, et le ré ouvrir en w+.
ce qui donne :

Code : Tout sélectionner

if (!$fp = fopen('test.txt',"r+")) { echo "Echec de l'ouverture du fichier"; exit; } else { while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,4096); // On stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; //// ici, on encode les lignes .......... } fclose($fp); // On ferme le fichier } if (!$fp = fopen('test.txt',"w+")) { echo "Echec de l'ouverture du fichier"; exit; } else { include 'AES.php'; $imputKey = "encryptor key"; $blockSize = 256; $aes = new AES($Fichier, $imputKey, $blockSize); $enc = $aes->encrypt(); $aes->setData($enc); fputs($fp, $enc); // echo $enc; echo "traité"; fclose($fp); // On ferme le fichier }
si ça peut servir à d'autres...

remplacer le contenu d'un fichier texte sur le serveur après l'avoir crypté

par LittleFairy » 08 juin 2015, 12:29

bonjour à tous et merci de votre aide,

voilà mon souci :
je souhaite crypter des données contenues dans un fichier texte, puis remplacer les données en clair dans le fichier par celles cryptées.

j'ai effectué plusieurs tests :
j'ouvre mon fichier texte (avec fopen)
je crypte (avec AES)
j'enregistre (avec fputs)
si j'ouvre le fichier avec w+ (lecture écriture en remplacement) mais que je remplace le texte par un autre sans crypter, ça fonctionne.
si j'ouvre le fichier avec r+(lecture écriture) et que je crypte les données, elles se placent à la suite des données en clair.
si j'ouvre le fichier avec w+ et que je crypte les données, j'ai une erreur "invalid data" qui provient de mon fichier aes.
comment crypter les données ET remplacer les données en clair ?

je vous donne un peu de code :

Code : Tout sélectionner

include 'AES.php'; if (!$fp = fopen('example-test2.txt',"w+")) { // si je met // if (!$fp = fopen('example-test2.txt',"r+")) { // à la place, ça met le code crypté à la suite. echo "Echec de l'ouverture du fichier"; exit; } else { while(!feof($fp)) { // je récupère une ligne $Ligne = fgets($fp,4096); // je stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; // j'encrypte avec AES $imputKey = "encryptor key"; $blockSize = 256; $aes = new AES($Fichier, $imputKey, $blockSize); $enc = $aes->encrypt(); $aes->setData($enc); } // puis je copie les nouvelles données fputs($fp, $enc); fclose($fp); // je ferme le fichier }
Merci de vos conseils,

LF