IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] crypter un fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Par défaut [Sécurité] crypter un fichier
    Comment crypter un fichier en PHP?

  2. #2
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    dis moi ista9im, ton probleme de ftp est-il resolu? si oui met le en resolu s'il te plait.
    Pour crypyter un fichier en php fais quelque recherches sur google et sur le site de php, je pense que tu trouveras ton bonheur

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Par défaut
    Pour mon problème de ftp, il n'est pas encore résolu! je vais essayer de trouver la solution.

    meri yiannis.

  4. #4
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Par défaut
    j'ai un script permettent de crypter un fichier qcq:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <? 
    ///////(c) Musco93200 //////// 
    // cryptage de fichier 
    // le 5 fevrier a 5:14 
    /////////////////////////////// 
     
    //~~~~Crypte le fichier 
    function crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier){ 
      $lignecripte=""; 
      $bytes = 65536;//nombre de bytes par ligne de cryptage 
      //remplit une ligne de cryptage de longueur 65536 bites 
      for ($i = 0; $i <= floor($bytes/strlen($chaine_crypt)); $i++) $lignecripte.= $chaine_crypt; 
      //ouvre le fichier a crypter en lecture 
      //cree le nouveau fichier 
     if (file_exists($chemin_fichier)){//verifie presence du fichier 
      chmod($chemin_fichier,0777);//attribue tous droits 
      $ancien = fopen($chemin_fichier, "rb"); 
      $nouveau = fopen($chemin1_fichier, "wb"); 
      // crypt le fichier et ecrie dans le nouveau fichier par ligne de 65536 bites 
      while($line = fread($ancien, $bytes)){ 
        $line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011s^ 10110=00101 
        fputs($nouveau, $line2);} 
      // ferme les fichiers 
      fclose($ancien);fclose($nouveau); 
      unlink($chemin_fichier);//suprimme l'ancien fichier 
    }} 
     
    //~~~~declare les entetes de fichier~~~~// 
    function telecharge($nomfichier,$chemin1_fichier){ 
        //entete de header precise au navigateur l'envoi d'un fichier 
        header("Content-disposition: attachment; filename=$nomfichier"); 
        header("Content-Type: application/force-download"); 
        header("Content-Transfer-Encoding: binary"); 
        header("Content-Length: ".filesize($chemin1_fichier)); 
        header("Pragma: no-cache"); 
        header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); 
        header("Expires: 0"); 
    } 
     
    //~~~~Decrypte le fichier~~~~// 
    //fonction a appler apres avoir declarer les header ouvrira une boite de telechargement 
    function decrypte_file($chemin1_fichier,$chaine_crypt){ 
        $bytes = 65536; //bite par ligne 
        $lignecripte=""; 
        $chainecrypte=$chaine_crypt; 
        //remplit une ligne de cryptage de longueur 65536 bites 
        for ($i = 0; $i <= floor($bytes/strlen($chainecrypte)); $i++) $lignecripte.= $chainecrypte; 
          // ouvre le fichier 
          $file = fopen($chemin_fichier, "rb"); 
          while($line = fread($file, $bytes)){ 
            $line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011s^ 10110=00101 
            // affichage du fichier 
            echo $line2; 
          } 
    } 
     
    ///~~~~~progrmamme ~~~~~~~//// 
    $chemin_fichier="adresse comple de votre fichier" 
    $chemin_fichier=$_SERVER['DOCUMENT_ROOT']."/fichier1.zip" //adresse fichier origine se trouvant sur la racine de votre serveur 
    $chaine_crypt="MUSCO93200"//n'importe kel chaine 
    $chemin1_fichier=$_SERVER['DOCUMENT_ROOT']."/rep_crypt/fichier1.zip" //adresse fichier crypter 
    $nom_fichier="fichier1.zip"//nom du fichier a afficher ldans la boite de telechargement fichier 
     
    //crypte le fichier "fichier1.zip" avec la cle "musco93200" et l'enregistre 
    //dans le repertoire "/rep_crypt/" et ensuite suprime le fichier origine 
    crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier); 
     
    //declare les header pour dire a la page ke c'est un fichier a telecharger methode de force de telechargement 
    telecharge($nomfichier,$chemin1_fichier); 
     
    //decrypt le fichier "fichier1.zip" qui se trouve dans le repertoire "/rep_crypt/" 
    decrypte_file($chemin1_fichier,$chaine_crypt) 
     
    ?>
    Mais j'obtiens le message:
    Parse error: parse error in c:\program files\easyphp1-8\www\crypterfichier.php on line 59.
    Pourquoi??

  5. #5
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    c'est koi comme cryptage ?
    Ce qui est bizzard c'est que ce soit réversible.
    ligne 59 -> ?
    tu l'as pris où ??

  6. #6
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Par défaut
    J'ai pas bien lu la description de script!!!!

  7. #7
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    Il me semble que tout est expliqué sur le site :

    Sur votre page de telechrgement pour chaque fichier mettez un lien vers un fichier du style telechargement.php et dans ce fichier mettez y les fonction telecharge et
    decrypte_file
    recuperer l'adresse du fichier a telecharger passer la en parametre de la fonction.

    lorsque l'utilisateur cliquera sur le lien une boite de dialogue lui proposant de telecharger le fichier s'affichera voila.
    Le fonction crypte_file doit tourner en "local" et decrypt_file sur ton site web.

    C pas mal son script!

Discussions similaires

  1. [MCRYPT] Est-il possible de crypter des fichiers avec les bibliothèques de hash ?
    Par a028762 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/12/2006, 09h18
  2. Crypter un fichier avec MD5
    Par hammag dans le forum Sécurité
    Réponses: 14
    Dernier message: 29/11/2006, 10h21
  3. questions avant projet + crypter un fichier ?
    Par Lorenzo77 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/07/2006, 13h45
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo