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 :

Protéger une application php


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut Protéger une application php
    Bonjours a tous le monde
    J’ai développé une application web pour des intérêts commercial avec le langage PHP, cette application sera installer en local. Mais j’ai des soucis de sécurité.
    Ma question est ce qu’il y a des solutions pour empêchera le client de revendre l’application, ou bien le réinstaller dans un autre serveur par exemple :
    • Fixation de l’adresse mac du serveur ; c’est à dire que par exemple cette application ne sera pas exécutée que sur un ordinateur avec une adresse mac sera fixer sur le script PHP.
    • Utiliser des numéros des séries
    • Etc ………
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Ma question est ce qu’il y a des solutions pour empêchera le client de revendre l’application, ou bien le réinstaller dans un autre serveur
    Oui, un avocat.

    Fixation de l’adresse mac du serveur ; c’est à dire que par exemple cette application ne sera pas exécutée que sur un ordinateur avec une adresse mac sera fixer sur le script PHP
    On peut toujours spoofer une adresse MAC.

    Utiliser des numéros des séries
    Vu que le code pour décripter ta license sera en PHP, même un singe pourra le cracker.

    Etc ………
    Bah, en fait c'est très simple: le problème de sécurité avec les langage de script c'est qu'il sont décrits par des fichier plain text donc par nature, non sécurisé et facilement exploitables si quelqu'un arrive à accéder au système de fichier. C'est déjà un poil plus corsé avec des langages compilés mais franchement, on y arrive (y'a qu'a voir tous les jeux et logiciels qui sortent avec toujours plus de mesures de sécurités et qui sont crackés dans la semaine).
    Cependant, il existe effectivement un moyen (en fait deux mais la deuxième solution je l'aime pas beaucoup): crypter le fichier PHP avec Zend Encoder (mais c'est pas le seul). Il faut au passage une extension spécifique capable de décrypter les fichiers PHP.
    La deuxième solution, franchement plus bidouille, est d'obfusquer son code PHP. Il existe des services en ligne pour faire ça mais la logique de base est tout simplement de rendre le code incompréhensible à grand renforts de suppression d'indentation et de remplacement des noms de variables et de fonctions. De mémoire Code Eclipse fait ça pas trop mal.

    Mais d'une manière ou d'une autre, le seul moyen réel d'empêcher qu'un de tes clients te "vole" l'application reste d'être le seul à savoir la maintenir, ce qui rends le client totalement dépendant de toi.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Avec Zend_guard tu peux protéger ton code et lui associer une licence d'utilisation.
    En revanche c'est payant.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    Merci pour vos réponses.
    mais est ce q'il y des outils qui sont gratuits ?

  5. #5
    Membre du Club
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 61
    Points
    61
    Par défaut
    Une idée qui est peut être une bêtise... Mais en faisant en sorte que l'application inclue un fichier de configuration qui ne soit pas installé en local et de vérifier à chaque lancement si la licence est valide ou pas.
    Ubuntu 14.04 LTS
    LibreOffice 4.4

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Cette solution n'est pas idiote mais tant qu'on a pas encrypté le script, c'est très facile de contourner la validation de la licence tout simplement en commentant l'inclusion du script distant.

  7. #7
    Membre du Club
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 61
    Points
    61
    Par défaut
    Oui, mais si le fichier n'est pas inclus alors l'application n'est pas configurée et ne fonctionnera pas. On peut par exemple bloquer l'accès à la base de donnée. Non?
    Ubuntu 14.04 LTS
    LibreOffice 4.4

  8. #8
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    tu regardes quelles sont les donnees du fichier inclut...
    tu les recopies dans un fichier a toi, tu commente l'inclusion du fichier distant.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Membre du Club
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 61
    Points
    61
    Par défaut
    En local il y a une clé. L'application envoie cette clé. Tu compares cette clé avec celle que tu as stockée si c'est OK tu renvoies une nouvelle clé que tu stockes en local. À partir de cette clé tu dois pouvoir générer un mot de passe aussi pour rendre la connexion à la base de donnée en locale possible.
    Mais enfin vive le libre ! C'est la meilleure protection...
    Ubuntu 14.04 LTS
    LibreOffice 4.4

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Il est facile de déterminer le mot de passe de connexion à la base une fois la nouvelle clé reçue. Je me répète mais à moins d'être maître soit des données - base de données protégé et hébergé sur un autre serveur que celui du client - ou des traitements - l'application se résumant au client d'un web service distant et protégé - tu ne peux pas obtenir un quelconque niveau de sécurité avec du PHP brut à moins de l'encrypter car il serait aisé de comprendre et contourner les mécanismes de sécurité.

  11. #11
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Le seul moyen d'être sûr que le client n'aura pas accès à ton code source c'est... de ne pas lui donner accès

    C'est-à-dire ne pas faire tourner l'appli chez le client, mais chez toi, donc en mode SaaS...

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  12. #12
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Citation Envoyé par ovh Voir le message
    Le seul moyen d'être sûr que le client n'aura pas accès à ton code source c'est... de ne pas lui donner accès

    C'est-à-dire ne pas faire tourner l'appli chez le client, mais chez toi, donc en mode SaaS...
    Surtout qu'on parle d'appli web dont la nature même est d'être disponible à distance...
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  13. #13
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    et ça ? j'ai vu alcatel ne fournir que du bitcode sur une appli php.

    http://us2.php.net/manual/en/intro.bcompiler.php
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

Discussions similaires

  1. Créer un install d'une application PHP
    Par sami_c dans le forum Zend
    Réponses: 5
    Dernier message: 12/02/2013, 09h48
  2. Réponses: 8
    Dernier message: 21/05/2007, 21h40
  3. [MySQL] Test de performance général sur une application PHP
    Par Invité dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/06/2006, 17h36
  4. Réponses: 5
    Dernier message: 27/06/2006, 15h03
  5. [EasyPHP] Probleme de deployement d'une application PHP sous linux
    Par stomerfull dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/01/2006, 15h39

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