-5

(下手な英語でごめんなさい!)

私のphpソースコードを保護するために、1つのファイルのみをioncubeで暗号化したい(たとえばfunction.php )。そして、暗号化されたファイルを他のphpファイルで呼び出したい! (他の php ファイルは mcrypt 関数で暗号化されます。)

例を見てください:

関数.php

<?php

// Only This file will be encrypted by the ionCube

  function simple_encrypt($text)
    {
$salt='whatever_you_want';
        return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
    }

    function simple_decrypt($text)
    {
$salt='whatever_you_want';
        return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

function decrypt_and_run($text) {
eval (simple_decrypt($text));
}

?>

script1.php

<?php
include "function.php";
decrypt_and_run("Mz/PKIZDmo1/VW4BNXX2d+XQD2dx1aB9gnBj1hbGzVM=");
// Mz/PKIZDmo1/VW4BNXX2d+XQD2dx1aB9gnBj1hbGzVM=   ~   echo "hello world1!";
?>

script2.php

<?php
include "function.php";
decrypt_and_run("oD3R8wPlUujQEkJfyPvTJOKek7MjzAuGBn+PfyssjZ4=");
// oD3R8wPlUujQEkJfyPvTJOKek7MjzAuGBn+PfyssjZ4=   ~   echo "hello world2!";
?>

script3.php

<?php
include "function.php";
decrypt_and_run("vMef6WP9xm1nmsAYMSgxFRY2nhBPTNWog3rLOGhb69Y=");
// vMef6WP9xm1nmsAYMSgxFRY2nhBPTNWog3rLOGhb69Y=   ~   echo "hello world3!";
?>

1) この方法ですべての PHP ソースを完全に保護できますか? (function.php、script1.php、script2.php、script3.php、...)

2) eval 関数は、ioncube または Zend Guard で機能しますか?

ありがとう。

4

2 に答える 2

0

コードを覆い隠すと、開発が難しくなり、CPU サイクルが増加するだけです (したがって、スクリプトの速度が低下します)。すべてのコードはリバース エンジニアリング可能です。適切なライセンスを記載したり、コードを開発者のみが利用できるようにしたりする方がよいでしょう

于 2013-11-07T21:33:36.777 に答える
0

リバースエンジニアリングを避けるために、過去にそのようなことを試みました。IonCube または zend Guard を使用して、すべてのコードを難読化できます。しかし、あなたのやり方で、eval=evil ...

完全に dotNet で作成された PHP 実装があります。 ファランジェ

私は過去に使っていましたが、単純なことですが、良いことを聞きました。それを試してみてください..

于 2013-11-07T21:35:07.147 に答える