php代碼的加密方法

某些情況下需要包含php代碼,比如給客戶部署到內部網絡系統中時,需要保護代碼的知識產權,下面就Linux和windows分開來介紹php代碼的加密方法。


Linux下加密方法: php_screw


PHP screw 是一款輕量級的加密軟件。採用BSD License支持所有POSIX系統(Unix/Linux/Linux Like),不支持Windows


1.從官方站點下載最新版本:


http://sourceforge.net/project/showfiles.php?group_id=52025


2.可以自己定義用來加密的密碼 這個重要,裏面的改成你的,你要記住這一組數據

vi my_screw.h


3.編譯安裝

phpize;configure ;make;make install


4.加入php.ini中


5.編譯加密工具


cd ../tools  make


6.將tools目錄下加密用的工具screw拷貝到適當目錄


cp screw /usr/bin/


php_screw_1.5有一個缺點就是screw 加密工具一次只能執行一個文件,如果你切換到你的php源碼目錄執行


解決辦法如下 ,執行

#find /path/to/php/source -name “*.php” -print | xargs -n1 screw

可以對/path/to/php/source目錄下的所有後綴爲php的文件加密,包括子目錄下的。


#find  /path/to/php/source  -name “*.screw” -print/xargs -n1 rm //刪除所有的.php源文件的備份文件


Windows下加密方法: zen_guard


  首先,我們把PHP保護神請回家,從http://downloads.phpchina.com/zend/guard/5.0.0/ZendGuard-5_0_0.exe下載後,運行安裝包,一路點擊Next(下一步)即可安裝好。接下來讓我們準備一個簡單的PHP程序test.php,用來測試能否被Zend Guard保護起來。test.php的代碼如下:


  phpinfo();

  ?>

  打開Zend Guard,從File(文件)菜單點擊,新建一個項目,如圖1所示。點擊Next進入目錄和文件添加界面,因爲我們只是測試一個文件,所以點Add File將test.php添加進來,再點擊Finish(完成)即可生成項目。


  這時,Zend Guard會自動打開新建立的項目,在界面的左邊列出項目中的文件,右邊列出項目的相關信息。現在,我們就可以將源代碼編譯了。點擊右邊Links(鏈接)中的Encode(編譯),界面最下面的Console(控制檯)窗口顯示“The operation has completed successfully.”,意思爲編譯已經完成。

  現在再去加密後文件保存的目錄中,會看到其中也有一個test.php,它是否和原來的test.php一樣呢?用編輯軟件打開它,可以看到它不再是原來的內容了,如圖2所示。注意:自己一定要保存好原始代碼,不然丟失了,連你自己也沒有辦法查看和修改的。


  接下來測試一下加密的代碼,從瀏覽器訪問加密後的PHP程序,哎呀,出錯了,不能運行,並顯示如圖3所示的信息。原來,使用Zend Guard加密後的PHP程序,還需要一個搭檔—Zend Optimizer,才能正常執行並提升效率。可從http://downloads.phpchina.com/zend/optimizer/3.3.0/ZendOptimizer-3.3.0a-Windows-i386.exe下載安裝。安裝過程中,“Choose the php.ini folder”這一步表示設置系統上PHP的配置文件php.ini的位置,“Choose the Web server's root folder”這一步表示設置Web服務器軟件所在的位置。安裝完成以後,用記事本打開php.ini,在最後我們會看到類似下面的配置信息:

  [Zend]

  zend_extension_manager.optimizer_ts="E:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"

  zend_extension_ts="E:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"

  這就表示Zend Optimizer已經安裝成功了,我們可以重新啓動Web服務器軟件,讓Zend Optimizer生效即可。注意:如果所使用的服務器已經安裝過或者包含了Zend Optimizer,就不用再次安裝了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章