这样可以保护我的PHP Source吗?

时间:2013-11-07 21:27:55

标签: php encryption

(抱歉我的英文不好!)

为了保护我的php源代码,我想用ioncube加密一个文件(例如 function.php ),然后我想在其他php文件中调用加密文件! (其他php文件将使用mcrypt函数加密。)

请参阅示例:

function.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中有效吗?

感谢。

2 个答案:

答案 0 :(得分:0)

隐藏代码只会使开发更加困难并增加cpu周期(从而减慢脚本速度)。所有代码都是反向可操作的。你最好只说明propper许可证和/或只为开发人员提供代码

答案 1 :(得分:0)

我过去尝试过类似的东西以避免逆向工程。您可以使用IonCube或zend Guard对所有代码进行模糊处理。 但是你的方式, eval = evil ......

在完全dotNet上有一个PHP实现。 Phalanger

我过去使用过但很简单的东西,但我听到了很好的事情。试试吧..