Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1663 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Proteger son code PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Proteger son code PHP

n°2064786
azel
Posté le 19-03-2011 à 13:23:19  profilanswer
 

Bonjour, je travaille actuellement sur un nouveau projet PHP traitant des donnees sensibles qui devront etre encrypter dans une base de donnees.
 
L'encryptage de ces donnees ne pose pas de probleme en soi, il y a des fonctions PHP pour ca (ie MCRYPT). Mais j'aimerais proteger les cles d'encryptage qui seront en claires dans le code PHP. Elles ne seront bien entendu pas accessibles de l'exterieur, mais l'application etant hebergee sur un serveur tierce, l'admin pourra y acceder.
 
Mis a part "compiler" mon code pour generer un code binaire je ne vois pas trop de solution. Je sais meme pas si c'est possible de "compiler" un code PHP.
 
Merci d'avance pour votre aide


Message édité par azel le 31-03-2011 à 04:33:58
mood
Publicité
Posté le 19-03-2011 à 13:23:19  profilanswer
 

n°2064787
esox_ch
Posté le 19-03-2011 à 13:39:47  profilanswer
 

http://www.zend.com/en/products/guard/


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2064788
azel
Posté le 19-03-2011 à 14:09:26  profilanswer
 

Merci Esox_ch, je suis egalement tombe sur ce produit en cherchant sur Google. Ca semble etre une alternative interessante, mais peut etre un peu lourde.
 
Avant de me lancer la dedans, j'aimerais voir si y a des solutions plus legere me permettant uniquement de proteger les cles et non l'ensemble du code.

n°2064789
azel
Posté le 19-03-2011 à 14:18:44  profilanswer
 

Je viens de trouver cette extension PHP: BCompiler (http://www.php.net/manual/en/book.bcompiler.php). Ce semble etre une alternative interessante!

n°2064802
esox_ch
Posté le 19-03-2011 à 17:07:54  profilanswer
 

Oui sauf que  

Citation :


This extension is EXPERIMENTAL. The behaviour of this extension including the names of its functions and any other documentation surrounding this extension may change without notice in a future release of PHP. This extension should be used at your own risk.


 
Jamais je n'utiliserais quelque chose du genre sur un serveur de prod


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2064986
azel
Posté le 21-03-2011 à 09:47:24  profilanswer
 

+1 pour esox_ch.
 
Je vais devoir trouver une autre maniere de faire ca alors. J'ai propose la solution Zend Guard a ma direction mais cet outil est beaucoup trop onereux pour notre projet.

n°2067200
azel
Posté le 31-03-2011 à 03:59:13  profilanswer
 

Au final nous allons utiliser ionCube Encode, qui est un outils plus ou moins similaire a Zend Guard. Pour ce que ca interesse: http://www.ioncube.com/sa_encoder.php

n°2067206
philippe06
Posté le 31-03-2011 à 07:33:25  profilanswer
 

un code compilé se décompile. Ca n'apporte pas grand chose de mon point de vu. Mais je vais quand même tester les encodeurs de PHP par curiosité, quand j'aurais un peu de temps.


---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
n°2067219
esox_ch
Posté le 31-03-2011 à 09:39:41  profilanswer
 

philippe06 a écrit :

un code compilé se décompile. Ca n'apporte pas grand chose de mon point de vu. Mais je vais quand même tester les encodeurs de PHP par curiosité, quand j'aurais un peu de temps.


 
ça a quelle tête du bytecode PHP décompilé? :??:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2067381
philippe06
Posté le 31-03-2011 à 19:55:28  profilanswer
 

esox_ch a écrit :

 

ça a quelle tête du bytecode PHP décompilé? :??:

 

J'ai déjà décompilé du Java compilé sans "obfuscation", c'est tout à fait utilisable.

 

J'ai "triché" à un TP noté de Master 2 ainsi: le prof a donné la solution sous forme d'executable, on devrait coder le truc plusieurs fois on observant à chaque fois une certaine "architecture" (c'était un cours sur les paradigmes en matière de programmation répartie / distribuée). Et bien j'ai pu reservir le code décompilé presque à l'identique, en renommant quelques noms de variables et en modifiant quelques prototypes de fonctions, c'est passé nickel. :o


Message édité par philippe06 le 31-03-2011 à 19:56:02

---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
mood
Publicité
Posté le 31-03-2011 à 19:55:28  profilanswer
 

n°2067661
esox_ch
Posté le 02-04-2011 à 14:09:06  profilanswer
 

Ah bon ... alors si t'as pu faire ça en java (qui, au passage, est livré avec tout ce qu'il faut pour le décompiler), il n'y a aucune raison que ce ne soit pas exactement pareil avec PHP passé dans un "compilateur" qui est là entre autres pour éviter qu'on voit la source ... :heink:
Bref, quand on sait pas, on se tait :o


Message édité par esox_ch le 02-04-2011 à 14:09:35

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2067687
philippe06
Posté le 02-04-2011 à 18:33:02  profilanswer
 

Pas besoin d'un code source particulièrement clair pour trouver quelques clés de chiffrement. Et de toute façon, si il s'agit d'une application web comme c'est souvent le cas avec PHP, l'admin système peut aussi simplement regarder les logs d'acces générés pour avoir les identifiants "applicatifs", qui permettent logiquement d'accéder au contenu "sensible".


---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
n°2068358
azel
Posté le 06-04-2011 à 10:28:00  profilanswer
 

Donc si on suit ton raisonnement il n'y a aucun maniere de securiser son code?
Zend Guard & Ioncube Encoder sont pourtant vendu pour ca... arnaque?

n°2068403
philippe06
Posté le 06-04-2011 à 14:05:36  profilanswer
 

Ca n'est pas une arnaque, ca complique une démarche de "reversing", ce qui a un intérêt si l'attaquant est faible techniquement, si le reversing présente peu d'intérêt ou si le code est suffisamment bien "mélangé" pour rendre la modification du code tellement pénible que l'attaquant va préférer réécrire le code lui même.
 
Simplement à partir du moment où tu ne contrôles pas l'environnement d'exécution du code, tu ne peux pas sécuriser totalement ton code. Typiquement, une protection par serial d'un logiciel sur PC est toujours cracké, avec plus ou moins de difficultés.
 
Et sur un serveur web c'est pire, comme je l'expliquais.


---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
n°2068505
esox_ch
Posté le 06-04-2011 à 19:36:42  profilanswer
 

Sauf que ça n'a strictement rien à voir :heink:
 
Passer un code dans une moulinette parce que tu veux cacher la valeur par défaut d'une variable $secret, c'est pas une bonne idée parce que, là, philippe06 a raison => Tu peux te faire choper par derrière.
Si par contre, ce que tu veux protéger c'est tes algos/ton code, alors dans ce cas ces solutions vont faire ton bonheur. Ton bytecode pourra peut-être être décompilé (et même, je demande à voir), il ne sera pas identique à ton code de départ => Tes algos seront probablement sauvés.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Proteger son code PHP

 

Sujets relatifs
MySQL + PHP Tourne pas rondXML - PHP... API Flickr [RESOLU]
[Résolu] Update multiple dans une boucle whileProbème d'accent dans le sujet de mail PHP
dysfonctionnement avec certains navigateurs de mon code javascriptHelp ! AJAX - POST et PHP pour fichier CSV
Code pour changer l'orde d'un nom de fichier[Résolu] - Php droits d'accès
PHP , CMS / Pas CMS ...Proteger son code PHP
Plus de sujets relatifs à : [Résolu] Proteger son code PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR