227 votes

Code obfuscator pour php?

Hey! Est-ce que quelqu'un a utilisé un bon obfuscator pour PHP ?, J'ai essayé quelques-uns mais ils ne fonctionnent pas pour de très grands projets. Ils ne peuvent pas gérer les variables incluses dans un fichier et utilisées dans un autre, par exemple.

Ou avez-vous d'autres astuces pour arrêter la diffusion de votre code génial? :)

254voto

yossi Points 3655

Vous pouvez essayer de PHP protéger ce qui est un gratuit PHP obfuscateur de dissimuler votre code PHP.
Il est très agréable et facile à utiliser. Aussi, il est gratuit.

Comme pour ce que les autres ont écrit ici de ne pas utiliser de dissimulation, car il peut être cassée, etc:
Je n'ai qu'une chose à répondre, ne pas verrouiller votre porte, parce que n'importe qui peut choisir de votre serrure.
C'est exactement le cas, la dissimulation n'est pas destiné à prévenir les 100% de vol de code. Il suffit de faire une tâche qui prend du temps, donc il sera moins cher de payer l'original codeur. Espérons que cette aide.

114voto

Schwern Points 33677

Les gens vont vous offrir obfuscators, mais aucun montant de la dissimulation peut empêcher quelqu'un d'accéder à votre code. Aucun. Si votre ordinateur peut exécuter ou, dans le cas des films et de la musique s'il peut jouer, l'utilisateur peut obtenir à elle. Même le compiler en code machine rend la tâche un peu plus difficile. Si vous utilisez un obfuscateur, vous êtes juste tromper vous-même. Pire, vous êtes également en interdisant aux utilisateurs de corriger les bogues ou d'y faire des modifications.

De musique et de film les entreprises n'ont pas assez pris pourtant, ils dépensent des millions de dollars sur les DRM.

Dans les langages comme PHP et Perl c'est trivial. Perl utilisé pour avoir beaucoup de code obfuscators, puis nous avons réalisé vous pouvez trivialement décompiler.

perl -MO=Deparse some_program

PHP a des choses comme DeZender et Montrer Mon Code.

Mon conseil? Écrire une licence et obtenir un avocat. La seule autre option est de ne pas donner le code et lancer à la place d'un service hébergé.

Voir aussi la perlfaq entrée sur le sujet.

33voto

John Points 205

Rien ne sera parfait. Si vous voulez juste quelque chose pour arrêter les non-programmeurs, voici un petit script que vous avez écrit que vous pouvez utiliser:

 <?php
$infile=$_SERVER['argv'][1];
$outfile=$_SERVER['argv'][2];
if (!$infile || !$outfile) {
    die("Usage: php {$_SERVER['argv'][0]} <input file> <output file>\n");
}
echo "Processing $infile to $outfile\n";
$data="ob_end_clean();?>";
$data.=php_strip_whitespace($infile);
// compress data
$data=gzcompress($data,9);
// encode in base64
$data=base64_encode($data);
// generate output text
$out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>';
// write output text
file_put_contents($outfile,$out);
 

16voto

Ira Baxter Points 48153

Voir notre SD Fourré PHP Obfuscator pour un obfuscateur qui fonctionne très bien avec arbitrairement grands ensembles de pages. Elle opère principalement par le brouillage de l'identificateur de noms. Avec de modestes pour les grandes applications, ce qui peut rendre le code extrêmement difficile à comprendre, ce qui est le but entier.

Il ne veut pas gaspiller de l'énergie sur "eval(decode(encodedprogramcode))" les systèmes, beaucoup de PHP "obfuscators" ne [ces sont l'encodeur "s", pas "obfuscator"s], parce que n'importe qui peut trouver que appeler et exécuter eval-décoder lui-même et obtenir le code décodé.

Il utilise un langage précis de l'analyseur de processus PHP; il vous dira si votre programme est syntaxiquement invalide. Plus important encore, il connaît l'ensemble de la langue avec précision; il ne sera pas perdu ou confus, et il ne cassera pas votre code (autre que ce qui se passe si vous obscurcir "mal", par exemple, ne parviennent pas à identifier l'API publique de la code correctement).

Oui, il dissimule les identificateurs de manière identique sur toutes les pages; si elle n'a pas à le faire, le résultat ne serait pas de travail.

14voto

CMS Points 315406

Le meilleur que j'ai vu est Zend Guard .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X