色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP代碼保護(hù)--Zend Guard的使用詳解

Zend Guard的作用,就是用編譯處理的方式來保護(hù)php源代碼免于被反編譯查看、未經(jīng)授權(quán)的定制修改、未經(jīng)許可的使用和重新發(fā)布等。而且,它是php的東家Zend公司開發(fā)的,是完全為php量身定做的保護(hù)神。
下面,請(qǐng)大家就和我一起來學(xué)習(xí)使用Zend Guard,加密保護(hù)我們的php源代碼吧。
  
實(shí)戰(zhàn):加密php源代碼
下載:http://www.zend.com/en/products/guard/
接下來讓我們準(zhǔn)備一個(gè)簡(jiǎn)單的php程序test.php,用來測(cè)試能否被Zend Guard保護(hù)起來。test.php的代碼如下:
復(fù)制代碼 代碼如下:
<?php
 phpinfo();
?>

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

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

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

php技術(shù)PHP代碼保護(hù)--Zend Guard的使用詳解,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 伽师县| 栖霞市| 九寨沟县| 雷波县| 瑞丽市| 乌兰察布市| 荣昌县| 宜都市| 高阳县| 越西县| 韶山市| 曲沃县| 政和县| 娄底市| 民丰县| 闵行区| 简阳市| 阿城市| 龙州县| 平乐县| 宜川县| 大名县| 达拉特旗| 读书| 武胜县| 广宁县| 高密市| 柳林县| 镇远县| 安吉县| 万宁市| 佛学| 集安市| 东明县| 安宁市| 达日县| 长春市| 都江堰市| 石阡县| 雅安市| 昭平县|