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

  FORUM HardWare.fr
  Programmation
  PHP

  Sécurisation du code source

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sécurisation du code source

n°1802275
spamoi
Posté le 20-10-2008 à 11:50:09  profilanswer
 

Bonjour,
 
je travail actuellement sur la création d'un site php qui sera en service sur un Intranet.
 
Afin d'éviter tout modification du code par n'importe qui j'utilise la compilation du code avec bcompiler.
 
Mais je souhaiterais aller plus loin, c'est à dire que je veux bloquer l'exécution du programme sur un serveur en particulier, pour éviter que le programme soit copié sur plusieurs serveurs...
 
Je recherche donc une fonction, ou un module DLL qui me permettrai d'avoir un id unique par machine (basé sur l'adresse MAC ou No de série du disque dur etc...)
 
Connaissez-vous un truc capable de remplir cette fonction ? ;)
 
Merci!

mood
Publicité
Posté le 20-10-2008 à 11:50:09  profilanswer
 

n°1802292
FlorentG
Posté le 20-10-2008 à 12:13:12  profilanswer
 

Genre avec ionCube Encoder tu peux faire ça. Bon OK c'est payant, mais ça fonctionne bien :D

n°1802328
spamoi
Posté le 20-10-2008 à 13:00:36  profilanswer
 

$379 pour la version qui permet de le faire :/
 
Peut-être qu'une DLL (module) pourrait me fournir ces infos?

n°1802390
Shn
Posté le 20-10-2008 à 15:10:28  profilanswer
 

Question probablement bête puisque j'ai sûrement mal compris : Pourquoi ne pas gérer les droits de lecture/écriture via le système d'exploitation directement ?
 
Mais peut-être as-tu l'intention de mettre ton site en service sur n'importe quel Intranet et non sur un spécifique...

n°1802523
NewsletTux
<Insérez ici votre vie />
Posté le 20-10-2008 à 18:41:52  profilanswer
 

spamoi a écrit :

$379 pour la version qui permet de le faire :/
 
Peut-être qu'une DLL (module) pourrait me fournir ces infos?


ça risque d'être difficile, si c'est pour un intranet et que le serveur ne tourne pas sur windows, je ne suis pas sûr que tu puisses bénéficier du même type de protection.
 
Sinon il te reste le coup des clés d'activation ... 5Tiens ça me rappelle quelqu'un  :whistle:)


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1802536
spamoi
Posté le 20-10-2008 à 19:25:15  profilanswer
 

Ça tournera sur un bon vieux XP en interne, pas besoin de plus.
 
je me focalise sur la recherche d'un DLL qui pourrait me fournir les informations suivante: @MAC, No série du DD dur etc...
 
C'est quoi ton système de clé sinon ? tu veux que je fasse un WGA en php ? :p

n°1802545
spamoi
Posté le 20-10-2008 à 20:02:07  profilanswer
 

Bon bah finalement c'est pas compliqué, en 3 lignes :p
 

Code :
  1. <?php
  2. exec("arp -a",$out,$ret);
  3. $tab = explode(" ",$out[3]);
  4. echo "Adresse M@C: ".$tab[13];
  5. ?>

n°1802736
stef_dober​mann
Personne n'est parfait ...
Posté le 21-10-2008 à 11:14:53  profilanswer
 

Bonjour,
 
j'ai aussi cherché une DLL de ce type mais en vain.
la seule solution que j'ai trouvé c'est de créer des classes principale  (connexion à la BDD, gestion de fonction d'affichage, ... ) déporté c'est fichier dans un autre répertoire "caché" sur le disque dur.
Celle-ci sont faite en PHP5 en utilisant un design patern (SingleTon) pour compliquer les chose.
pour les appeler, j'ai indiqué ce répertoire dans le PHP.INI à la directive include_path
Du coup je fais juste un

Code :
  1. <? require_once("mon_fichier.php" );?>


et ça fonctionne nikel.
si quelqu'un récupère le répertoire www, il ne prend pas les classes principales et ainsi, cela ne peut fonctionner sur un autre serveur.
 
autre chose, avec ta solution peut être désactivé, car c'est une fonction dans ton code...
Le mienne ne peut être désactivé mais contourné. Cela reste plus laborieux car il faut réécrire les classes


---------------
Tout à commencé par un rêve...
n°1802747
spamoi
Posté le 21-10-2008 à 11:40:52  profilanswer
 

Contournable oui et non :)
 
Le code que j'ai mis pour l'adresse MAC sera bien entendu compilé en ByteCode avec l'outil (gratuit) de PHP: bcompiler.
 
Ainsi le code PHP devient du code "machine" qui n'est pas lisible. Ce qui est bien c'est que le fichier reste un .php, et j'ai juste à activer le module bcompiler de PHP pour que le code soit interpréter comme du PHP.
 
Inconvénient: le fichier prend du poid, genre un fichier de 8ko passe à 24Ko etc...
Avantage: tu peux mélanger du PHP+HTML, pas de pb!
 
Par contre je ne sais pas si on peut décompiler ce code... je fait un recherche la dessus...
 
Edit: http://maxime-ohayon.developpez.co [...] bcompiler/


Message édité par spamoi le 21-10-2008 à 11:43:04
n°1802753
stef_dober​mann
Personne n'est parfait ...
Posté le 21-10-2008 à 11:51:35  profilanswer
 

J'avais recherché dans ce sens, et un code Bcompiler ne peut être remis en code PHP.
Ensuite il est vrai qu'il faut que tu cacheta fonction via l'appel à une autre fonction. Du style tu fais un appel sql et au passage tu vérifie ton adresse MAC.
Mais attention tout de même, Bcomoiler reste en version EXPERIMENTALE...


---------------
Tout à commencé par un rêve...
mood
Publicité
Posté le 21-10-2008 à 11:51:35  profilanswer
 

n°1802769
spamoi
Posté le 21-10-2008 à 12:55:41  profilanswer
 

Effectivement sur google on ne trouve rien sur une éventuelle décompilation d'un code Bcompiler... c'est plutôt rassurant :)
 
Bcompiler est actuellement en version 0.8, et il faut bien entendu tester complètement son programme avant de l'envoyer :p
 
En gros, niveau protection je pensais faire ceci:
 
1. Créer un fichier .php qui contient es divers vérifications
=> Adresse MAC / IP du serveur
=> Date de validité
=> CRC des fichiers .php
 
2. Include ce code dans chaque fichier php par un include_once()
3. Refuser l'éxecution par un die("pwet pwet" ) si le fichier de vérif n'est pas présent
 
3. Bcompiler le tout
 
D'autres idées?
 

n°1802791
CyberDenix
Posté le 21-10-2008 à 13:35:43  profilanswer
 

Verrouiller un langage open source... c'est pas très sérieux...  :heink:

n°1802792
spamoi
Posté le 21-10-2008 à 13:43:53  profilanswer
 

CyberDenix a écrit :

Verrouiller un langage open source... c'est pas très sérieux...  :heink:


 
Et vi, c'est dommage, mais travailler dans une entreprise où on risque de piller ton travail est également dommage...
 
Et puis, c'est du dév interne à la boite, le code appartient à l'entreprise, avec des morceaux de codes qui accédent à des données *confidentielles* ...
 
 :hello:

n°1802978
stef_dober​mann
Personne n'est parfait ...
Posté le 21-10-2008 à 22:28:17  profilanswer
 

faire un CRC des fichiers .php attention si tu doit les modifier à la hâte (parce qu'il y a une partie qui plante ou simplement pour corriger une faute d'orthographe ) tu risque d'être embêté car tu seras obligé d'avoir les fichiers originaux à porté de main pour pouvoir refaire les fichiers bcompiler.
 
Perso avec bcompile j'ai eu des problèmes lors d'un include => il ne les trouvais plus ensuite...


---------------
Tout à commencé par un rêve...
n°1803585
spamoi
Posté le 23-10-2008 à 15:20:10  profilanswer
 

Je viens d'essayer ce logiciel: http://www.truebug.com/
 
Le résultat est assez bluffant !! et pour seulement $25 :p

n°1804377
stef_dober​mann
Personne n'est parfait ...
Posté le 24-10-2008 à 21:37:57  profilanswer
 

Le concept est sympa, mais le jour ou tu veux travailler sous Linux, la solution n'est plus valide !


---------------
Tout à commencé par un rêve...
n°1804383
spamoi
Posté le 24-10-2008 à 22:00:00  profilanswer
 

Pourquoi plus valide ?
 
Concernant le code ou le soft ? Si c'est le soft, une ptite Wmware et hop :p
 
 :hello:

n°1804384
sub1
Posté le 24-10-2008 à 22:12:01  profilanswer
 

Hello,
 
je crois que tu vois pas bien l'impact d'une VM....
C cool pour tester, mais c'est moisi autrement en perf
(sauf si tu as le matos/soft adéquat, et là ca coute cher..)
 
les solutiions à base de zend encoder (ou autres) semblent plus adaptées (et plus portables surtout).
 
a+

n°1804417
leflos5
On est ou on est pas :)
Posté le 25-10-2008 à 02:32:03  profilanswer
 

Pour l'éxécution et vu ce que tu demandes je pense honnetement que la MAC suffit amplement. C'est en supposant un point d'entrée unique si tu as bien fait les choses ;)

n°1804422
spamoi
Posté le 25-10-2008 à 10:20:23  profilanswer
 

sub1 a écrit :

Hello,
 
je crois que tu vois pas bien l'impact d'une VM....
C cool pour tester, mais c'est moisi autrement en perf
(sauf si tu as le matos/soft adéquat, et là ca coute cher..)
 
les solutiions à base de zend encoder (ou autres) semblent plus adaptées (et plus portables surtout).
 
a+


 
 :non: je ne parlais pas de faire tourner le site SOUS une VMware, je parlais juste de l'encoder....(l'éxécutable du mois)
 
Le GROS défaut du Zend Guard c'est son prix... c'est bien pour une PME, mais pas pour moi  :ange:  
 
 :hello:


Message édité par spamoi le 25-10-2008 à 10:47:08
n°1804752
CyberDenix
Posté le 26-10-2008 à 19:10:56  profilanswer
 

Le monsieur te dit que tu es en train de transformer ton php en java (et c'est pas vraiment un compliment...).
 
Comme tu as transformé ton code php en bytecode, il faudra à chaque ligne que ton module BCompiler retransforme le bytecode en code php, avant interprétation du code php.
 
Niveau perf, c'est moisi par rapport à une application native php.


---------------
Directeur Technique (CTO)
n°1804757
flo850
moi je
Posté le 26-10-2008 à 19:16:08  profilanswer
 

tu aurai pas plutot interet a vendre de s mise a jour et de la maintenance ?  
 
j'ai l'impression que tu ne te bats pas sur les points les plus importants

n°1804948
aideinfo
Posté le 27-10-2008 à 13:04:42  profilanswer
 

Si ton PC est sécurisé, il n'y a pas de possibilité pour les autres de récupérer ton code. Sache que le code PHP n'apparaît pas dans la source une fois interprété par PHP.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1804989
aideinfo
Posté le 27-10-2008 à 14:36:21  profilanswer
 

Tu peux te passer de faire ce genre de réfléxion totalement inutile.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1805556
Shn
Posté le 28-10-2008 à 16:06:33  profilanswer
 


N'empêche que moi aussi j'avais dit une connerie quelques jours avant :(
Alors t'aurais pu te foutre de moi à ce moment-là aussi :D
 
Mais bon, on est un tout petit peu HS là.

n°1806122
leflos5
On est ou on est pas :)
Posté le 29-10-2008 à 20:53:01  profilanswer
 

CyberDenix a écrit :

Le monsieur te dit que tu es en train de transformer ton php en java (et c'est pas vraiment un compliment...).
 
Comme tu as transformé ton code php en bytecode, il faudra à chaque ligne que ton module BCompiler retransforme le bytecode en code php, avant interprétation du code php.
 
Niveau perf, c'est moisi par rapport à une application native php.


Je pense pas, tout code PHP est "compilé en bytecode et c'est ce bytecode qui est ensuite éxécuté par php. On gagne donc le parsage du php et la "compilation" en bytecode. C'est donc plus rapide à l'éxécution, ce n'est pas de l'obfuscation mais bel et bien une sorte de compilation dans le language intermédiaire de php :)

mood
Publicité
Posté le   profilanswer
 


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

  Sécurisation du code source

 

Sujets relatifs
Simplification de mon code et 2 questionscode vba protection feuille excel sauf userform
effacer deux colones sur trois avec du code VBA dans Excel...Plantage de Mozilla firefox a cause d'un code Javascript
LE code jules cesar en c++Petit soucis avec mon code html et l'affichage sur google
Cherche programmeur python gtk2, glade2, open sourceRecherche cms php multiling en Open Source
Code source HTML suspect 
Plus de sujets relatifs à : Sécurisation du code source


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)