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 :

Obfuscater minifier un script php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 328
    Par défaut Obfuscater minifier un script php
    Bonjour,

    je recherche un script (ou un logiciel) gratuit qui permet de :

    • compresser un fichier php : un peu comme on peut le faire en javascript où on passe d'un fichier lisible (avec indentation et tout) à un fichier contenant une seule ligne très longue.
    • ou obfusquer le code php pour éviter la modification de celui-ci : je veux que ça soit difficile de faire du reverse engineering.
    • ou les 2 points précédents à la fois.


    J'ai déjà cherché sur le net des obfuscator php online mais chaque fois que je copie un code source simple dedans et que je le test en local, j'ai des erreurs php.

    Pour le moment, je n'ai pas trouver de script qui fonctionnent. Je précise aussi que je ne veux pas d'extensions pour php ou apache (comme bcompiler) car je ne pourrai pas déployer en production les .dll de ses extensions (hébergement mutualisé).

    Merci d'avance

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Je précise aussi que je ne veux pas d'extensions pour php ou apache (comme bcompiler) car je ne pourrai pas déployer en production les .dll de ses extensions (hébergement mutualisé).
    Ce n'est donc pas possible. Tous les encoder (Zend Guard , ionCube ...) existant passe par une extension.

    L'obfuscation n'a que pour seul intérêt la diminution du poids du fichier , c'est pourquoi c'est assez populaire avec le javascript. Croire qu'on cache son code avec est une grossière erreur.

    Note : A moins que tes clients est accès direct au fichiers , y'a pas vraiment de raison d'encoder tes fichiers php
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 328
    Par défaut
    Je souhaite un script qui réduise le poids du fichier .php ou qui obfusque légèrement par exemple en renommant les variables par d'autres noms, les noms des fonctions, encode les caractères autrement, enlève l'indentation du ciode, les commentaires...

    Bref un script qui empêche le reverse engineering pour le commun du mortel, mais ne le rend pas impossible pour quelqu'un qui a un peu de temps et qui si connait.

    Je souhaite encoder les fichiers car une partie de ce code sera "donné en l'état" à d'autres personnes. Je veux éviter que ces personnes puissent modifier facilement ces fichiers.

    EDIT : Je testerai ta fonction stealth35, merci


    D'autres idées ?

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Par défaut
    Citation Envoyé par ulspider Voir le message
    Je souhaite un script qui réduise le poids du fichier .php ou qui obfusque légèrement par exemple en renommant les variables par d'autres noms, les noms des fonctions, encode les caractères autrement, enlève l'indentation du ciode, les commentaires...

    Bref un script qui empêche le reverse engineering pour le commun du mortel, mais ne le rend pas impossible pour quelqu'un qui a un peu de temps et qui si connait.

    Je souhaite encoder les fichiers car une partie de ce code sera "donné en l'état" à d'autres personnes. Je veux éviter que ces personnes puissent modifier facilement ces fichiers.
    Réduire le poid je ne vois vraiment pas l'intérêt vu que PHP va de toute façon fabriquer un opcode. Quand à empêcher le reverse engeneering, tu vas avoir besoin des solution d'obstruction citées plus haut, mais elles ne passeront pas sur des hébergeurs mutualisés. Pour quel genre d'application as-tu un tel besoin ??

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 328
    Par défaut
    Réduire le poids ce n'est pas obligatoire, je veux seulement que lorsque le code est rendu non lisible, le fichier qui le contient ne fasse pas 2 ou 3 fois son poids initial.

    Comme dit précédemment, je veux que le code soit difficile à lire pour un œil humain (suppression indentations, commentaires, espaces,sauts de ligne, renommage des variables, des fonctions...)

    Par exemple, si un script transforme ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    function affichage () {
    //affiche
    echo 'titi';
    }
    function affichage2 () {
    //affiche
    echo 'ti';
    }
    Cela donnerai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php function affichage (){echo 'titi';}function affichage2 (){echo 'ti';}
    Bref ça rebute un peu à la lecture. Quelqu'un qui s'y connait un peu pourrait ré-inverser le processus de minimisation mais il lui faudrait du temps.

    Pour l'utilisation, je souhaite éviter que des personnes (à qui je donnerai accès aux fichiers php) puissent modifier facilement ces fichiers.

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Par défaut
    Réduire le poids ce n'est pas obligatoire, je veux seulement que lorsque le code est rendu non lisible, le fichier qui le contient ne fasse pas 2 ou 3 fois son poids initial.
    ça changera pas grand-chose, c'est du plain/text de toute façon...

    Bref ça rebute un peu à la lecture. Quelqu'un qui s'y connait un peu pourrait ré-inverser le processus de minimisation mais il lui faudrait du temps.
    Ou connaitre le raccourci magique d'Eclipse Ctrl + Shift + F pour réindenter le code (ce que je fais tout le temps).

    Si les obstrucateurs en ligne ne peuvent rien pour toi (car le code est trop complexe par exemple et que ça finit en erreur) alors malheureusement il n'y a pas de solution miracle à ma connaissance. Le mieux serait de ne pas donner les droit de modification sur les fichiers PHP à des tiers, ce qui peut se faire sous unix à condition de pouvoir paramétrer différents comptes utilisateurs...

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    pour minifier tu peux déjà faire comme ça :

    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
    $tokens = token_get_all(file_get_contents(__FILE__));
     
    foreach($tokens as $token)
    {
        if(is_array($token))
        {
            if($token[0] !== T_WHITESPACE)
            {
                echo $token[1];
            }
        }
        else
        {
            echo $token;
        }
    }

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Exécution script php
    Par devmat dans le forum Linux
    Réponses: 11
    Dernier message: 22/04/2007, 11h14
  4. Pb d'execution de requete avec un script php
    Par ythierrin dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2003, 14h34

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