欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP代碼保護--Zend Guard的使用詳解

 更新時間:2013年06月03日 10:39:08   作者:  
本篇文章是對zend guard的使用進行了詳細的分析介紹,需要的朋友參考下
Zend Guard的作用,就是用編譯處理的方式來保護PHP源代碼免于被反編譯查看、未經授權的定制修改、未經許可的使用和重新發(fā)布等。而且,它是PHP的東家Zend公司開發(fā)的,是完全為PHP量身定做的保護神。
下面,請大家就和我一起來學習使用Zend Guard,加密保護我們的PHP源代碼吧。
  
實戰(zhàn):加密PHP源代碼
下載:http://www.zend.com/en/products/guard/
接下來讓我們準備一個簡單的PHP程序test.php,用來測試能否被Zend Guard保護起來。test.php的代碼如下:
復制代碼 代碼如下:

<?php
 phpinfo();
?>

打開Zend Guard,從File(文件)菜單點擊,新建一個項目,如圖1所示。點擊Next進入目錄和文件添加界面,因為我們只是測試一個文件,所以點Add File將test.php添加進來,再點擊Finish(完成)即可生成項目。
  
這時,Zend Guard會自動打開新建立的項目,在界面的左邊列出項目中的文件,右邊列出項目的相關信息?,F在,我們就可以將源代碼編譯了。點擊右邊Links(鏈接)中的Encode(編譯),界面最下面的Console(控制臺)窗口顯示“The operation has completed successfully.”,意思為編譯已經完成。
現在再去加密后文件保存的目錄中,會看到其中也有一個test.php,它是否和原來的test.php一樣呢?用編輯軟件打開它,可以看到它不再是原來的內容了,如圖2所示。注意:自己一定要保存好原始代碼,不然丟失了,連你自己也沒有辦法查看和修改的。
  
接下來測試一下加密的代碼,從瀏覽器訪問加密后的PHP程序,哎呀,出錯了,不能運行,并顯示如圖3所示的信息。原來,使用Zend Guard加密后的PHP程序,還需要一個搭檔—Zend Optimizer,才能正常執(zhí)行并提升效率。可從http://www.zend.com/en/products/guard/下載安裝。安裝過程中,“Choose the php.ini folder”這一步表示設置系統(tǒng)上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,就不用再次安裝了。
現在再次從瀏覽器訪問加密后的PHP程序試試,果然可以正常運行了,從顯示的信息中,我們可以看到Zend Optimizer的信息  
解析Zend Guard加密原理
讓我們看看流程,就可以對Zend Guard的保護原理一目了然了。通過Zend Guard將PHP源代碼編譯為加密代碼,然后通過加載了Zend Optimizer的PHP執(zhí)行即可。分發(fā)給別人的程序,是加密后的代碼,可以執(zhí)行,但是沒有源代碼,別人也就無法查看和修改了。因而,我們可以在程序中加入適當的代碼,用來檢測系統(tǒng)的當前時間,看是否超過了預先設置的期限,如果超過了,就退出程序不讓繼續(xù)執(zhí)行。

Zend Guard的工作原理和Java類似,編譯后的PHP程序就像編譯好的Java二進制代碼,需要JVM的支持才能運行,Zend Optimizer可以看作是PHP的虛擬機。Zend Guard與Zend Optimizer相互配合,就能完成編譯加密和執(zhí)行編譯后代碼的工作。

License管理的方面屬于更為深層的使用,可以用來生成許可文件,從而通過選擇不同的許可模式來限制程序的使用,例如同時使用的用戶數、時間限制、網絡分段或者特定的服務器等。有興趣的讀者可以查看Zend Guard自身所帶的幫助文件,來了解具體的用法。

相關文章

  • php實現微信發(fā)紅包

    php實現微信發(fā)紅包

    現在微信發(fā)紅包比較流行,大家都會使用微信發(fā)紅包,馬上又該過年了,發(fā)紅包又要開始了,小編這就給大家分享一個php實現微信發(fā)紅包程序的算法,非常的實用,這里推薦給小伙伴們,有需要的朋友可以參考下。
    2015-12-12
  • Joomla實現組件中彈出一個模式(modal)窗口的方法

    Joomla實現組件中彈出一個模式(modal)窗口的方法

    這篇文章主要介紹了Joomla實現組件中彈出一個模式(modal)窗口的方法,列舉了2種常用的Joomla彈出模式窗口的技巧供大家對比參考,需要的朋友可以參考下
    2016-05-05
  • 用php實現分頁效果的示例代碼

    用php實現分頁效果的示例代碼

    分頁效果在網頁中是常見的,可是怎樣才能實現分頁呢,今天做了兩種方法來實現一下分頁的效果,本文通過實例圖文相結合給大家介紹的非常詳細,需要的朋友參考下吧
    2020-12-12
  • php 提速工具eAccelerator 配置參數詳解

    php 提速工具eAccelerator 配置參數詳解

    php 提速工具eAccelerator 配置參數詳解,需要的朋友可以參考下。
    2010-05-05
  • Symfony2獲取web目錄絕對路徑、相對路徑、網址的方法

    Symfony2獲取web目錄絕對路徑、相對路徑、網址的方法

    這篇文章主要介紹了Symfony2獲取web目錄絕對路徑、相對路徑、網址的方法,結合實例形式分析了Symfony獲取路徑與網址的常用操作技巧,并給出了Request完整文件的源碼供大家下載參考,需要的朋友可以參考下
    2016-11-11
  • PHP將英文數字轉換為阿拉伯數字實例講解

    PHP將英文數字轉換為阿拉伯數字實例講解

    在本篇文章里小編給大家分享了關于PHP將英文數字轉換為阿拉伯數字實例內容,有興趣的朋友們可以參考學習下。
    2019-01-01
  • Smarty分頁實現方法完整實例

    Smarty分頁實現方法完整實例

    這篇文章主要介紹了Smarty分頁實現方法,涉及基于Smarty的數據庫查詢、分頁相關計算與模板操作技巧,需要的朋友可以參考下
    2016-05-05
  • vscode運行php報錯php?not?found解決辦法

    vscode運行php報錯php?not?found解決辦法

    這篇文章主要給大家介紹了關于vscode運行php報錯php?not?found的解決辦法,這個問題可能是由于您的計算機上沒有安裝PHP或者VS?Code沒有正確配置PHP的路徑所導致的,文中將解決的辦法介紹的很詳細,需要的朋友可以參考下
    2023-07-07
  • Laravel中間件實現原理詳解

    Laravel中間件實現原理詳解

    這篇文章主要介紹了Laravel中間件實現原理,較為詳細的分析了Laravel中間件的概念、原理及相關方法與使用技巧,需要的朋友可以參考下
    2016-10-10
  • PHP連接sftp并下載文件的方法教程

    PHP連接sftp并下載文件的方法教程

    這篇文章主要給大家介紹了關于PHP連接sftp并下載文件的相關資料,需要的朋友可以參考下
    2018-08-08

最新評論