2010-01-18 88 views
-1

我們有一個用PHP編寫的應用程序,我們將向客戶授權。我們公司認爲,客戶可能有意竊取源代碼並創建他們自己的軟件分支,因此我們要加密源代碼。您對PHP加密器有什麼經驗?你會推薦哪一個?

我已經搜索了一些PHP加密器,並發現了幾個似乎很好,但由於我們以前沒有PHP加密器的經驗,很難說哪一個是最好的。您使用過哪些PHP加密程序?您的體驗如何?

+0

重複:http://stackoverflow.com/questions/232736/code-obfuscator-for-php,http://stackoverflow.com/questions/698320/what-is-the-best -php-碼加密器 – gnovice 2010-01-18 16:47:08

回答

3

所以,第一:

這是不可能的,因爲在某些時候,必須有一個eval語句,如果用戶改變EVAL到迴音,他們讓所有的加密你的整個代碼庫你的代碼在瀏覽器中。

這裏是一個bunch of people who agree with me

此外:

人們會爲您提供模糊處理,但沒有模糊處理量可以阻止有人從你的代碼獲得。沒有。如果您的電腦可以運行它,或者在電影和音樂的情況下播放它,用戶可以使用它。即使將其編譯爲機器碼也會使工作變得更加困難。如果你使用混淆器,你只是在愚弄自己。更糟糕的是,您也不允許用戶修復錯誤或進行修改。 - Schwern


現在多數民衆贊成做:

Bytecompiling的東西比加密完全不同。它使PHP代碼變成已解釋的字節,類似於exe文件。您可以像包含任何其他php文件一樣包含這些文件。

生成的字節代碼可以進行反向設計,但這需要花費很多時間並且不值得該公司的時間。

退房的byte compiler PHP extension.


我還想指出,PHP有逆向工程類的幾種方法。如Reflection Class。這基本上可以讓人們看到每個類中的每個方法,變量和常量,而無需使用源代碼。

坦率地說,一旦有人看到你使用的函數,那麼在它之後很容易將它拼湊在一起。

1

有很多obfusticaters僞裝成加密器。

如果你真的必須使用Zend加密你的代碼。

恕我直言,關閉你的客戶離開你的代碼是天生邪惡,而寧願在代碼中隱藏的一些符​​號,並在無修改/轉售合同出售。如果他們試圖賣掉它,那麼就起訴他們。你可以爭辯說,加密你的代碼關閉了商業機會;)!

C.