comment protéger une application PHP-Mysql conre la copie ??

WRInaute discret
Bonjour,

je suis en train de développer une application faite en PHP4+MySQL4.
Elle va être vendue à une entreprise qui l'utilisera et l'hébergera (sans-doute) sur son serveur.

Je souhaite savoir comment protéger cette application contre la copie, pour que l'entreprise ne puisse pas prendre les sources (.php) et voir/copier la structure de la base de données Mysql et surtout ne pas la refiler à une filliale ou autre.

y-a-t-il un moyen de crypter tout cela ? de compiler en binaire pour otez la lecture textuelle des sources ?

à part renommer toutes les variables avec des noms cincomrpehensibles genre v4587458 et les champs de la base ainsi t45874 et c14587 je vais retarder le reverse ingénieuring mais pas la copie brute de l'application.

Donc je cherche un moyen légal, sûr de protéger une application PHP-MySQL.

est-ce possible ?
 
WRInaute accro
Tu met l'application sur un de tes serveurs te tu leur loue un accès. Question de contrat.
 
WRInaute impliqué
tu codes une partie vitale de ton appli dans une api d'un module php et tu ne fournies que le binaire compilé

EDIT: version 2 en attente de validation par Pandore:
tu définies dans un module php un ensemble de fonction vitale à ton appli, et tu ne fournies que le module compilé
 
WRInaute discret
Voilà un exemple de soft connu qui permet de compiler le code source php :
-http://www.ioncube.com/sa_encoder.php

Le code source de ton appli php est ainsi complètement protégé.
 
WRInaute passionné
desolé de te le dire

mais ton histoire est un peu nulle (même beaucoup)

tu te préocupes en milieu de dev sur les possibilités de protéger tes sources

tout en sachant que tu sais bien que tu vas livrer celles ci à ton client

dois je comprendre que cela n'a pas été négocié dans le contrat

en fait il y a très peu de différences entre des sources et un exe compilé

tout doit etre stipulé dans le contrat

rog
 
WRInaute discret
ok

je me cite lol !
Elle va être vendue à une entreprise qui l'utilisera et l'hébergera (sans-doute) sur son serveur.

Je parle au futur...donc...pas de contrat encore..et puis la protection du code c'est aussi un frein contre le hacking/pirage, pas uniquement contre la contrefaçon/redistribution.

MErci Fanch1983 pour ta solution:
http://www.ioncube.com/sa_encoder.php

Quelqu'un m'a dit que c'était mieux que Zend Guard...;

par contre ça protége-pas la base MySQL. Leur administrateur pourra la récupérer...analyser...comprendre....refaire !
 
WRInaute impliqué
je vais resortir mon histoire de module php dont tu ne donnes que la version compilé, n'en déplaise... lol
tu renommes les champs et les tables facon t45874 ... c14587
et tu cryptes la valeur des champs
la fonction de cryptage/décryptage et surtout la clef se trouve dans le module php :)
bon après c'est artisannale et y a sans doute une solution payante (ou pas) qui fait ca...
 
WRInaute accro
ben c peut etre très bete mais autant économiquement parlant que techniquement parlant, il vaut mieux que ce soit héberger sur tes serveurs à moins de faire une jolie boite noire mais là ca implique un matériel...
 
WRInaute passionné
ton truc a l'air bien julienr mais il faut peut etre des competences qui depassent le php mysql en plus ça doit pas etre trop pratique à mettre à jour

quand on ne veut pas livrer les sources d'un prog client/server à un client je suis tenté de dire que l'on ne developpe pas en php/mysql

plutot delphi/mysql ou autre langage qui se compile

rog
 
WRInaute passionné
julienr a dit:
EDIT: version 2 en attente de validation par Pandore:
tu définies dans un module php un ensemble de fonction vitale à ton appli, et tu ne fournies que le module compilé
C'est surtout comment faire que je n'ai pas compris. Je ne sais pas du tout faire ce que vient de dire ... :oops: Tu peux donner un petit mode d'emploi s.t.p. ??? :p
 
WRInaute discret
Pandore a dit:
julienr a dit:
EDIT: version 2 en attente de validation par Pandore:
tu définies dans un module php un ensemble de fonction vitale à ton appli, et tu ne fournies que le module compilé
C'est surtout comment faire que je n'ai pas compris. Je ne sais pas du tout faire ce que vient de dire ... :oops: Tu peux donner un petit mode d'emploi s.t.p. ??? :p

Je suis aussi preneur d'un mode d'emploi.
Merci encore d'avance !!! :wink:
 
WRInaute impliqué
oup's un mode d'emploi non mais des pistes pour google oui :
un module cela doit s'appeler plus précisément une extension php, un .so sous linux et une dll pour wamp
une extension php est développé en c en utilisant l'api zend
une extension permet de proposer une bibliothèque de fonctions
une fois le module compilé, le php.ini paramétré et l'apache redémarré
tu disposes de fonction nativement sans avoir besoin de les déclarer...
 
WRInaute discret
ok

ah bon c'est comme ça que ça marche ?
mais si ces solutions permettent donc de précompiler en dll ou .so, alors pourquoi sont-elle plus lente d'après les tests et autres articles ?

c'est bizarre...
 
WRInaute accro
en plus, même avec le module, cela ne changera rien.
Le client pourra copier les scripts, la base sql (sauf si les appels sont gérés dans les api) et l'installer sur un autre serveur.
Sauf à coder en dur dans l'api des informations relatives à ce serveur (genre adresse mac, ...)
 
WRInaute impliqué
Re: ok

USA Mike a dit:
alors pourquoi sont-elle plus lente d'après les tests et autres articles ?

c'est bizarre...
où as tu lu çà ?

zend a dit:
Let's start by identifying why you might want to write a PHP extension.

1. There is some library or OS specific call which cannot be made from PHP directly because of the degree of abstraction inherent in the language.
2. You want to make PHP itself behave in some unusual way.
3. You've already got some PHP code written, but you know it could be faster, smaller, and consume less memory while running.
4. You have a particularly clever bit of code you want to sell, and it's important that the party you sell it to be able to execute it, but not view the source.
point 3 et 4 :) pour ceux que ca interesse c'est tiré de là Extension Writing Part I: Introduction to PHP and Zend

ensuite de mon point de vue, développer en open source pour protéger et revendre, tu devrais t'orienter vers des langages de m...soft, les pratiques commerciales sont livrées avec lol
 
Discussions similaires
Haut