LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

php_screw 1.5:php加密: 安裝與使用

admin
2012年6月3日 0:49 本文熱度 3172

php文件通常以文本格式存貯在服務(wù)器端, 很容易被別人讀到源代碼, 為了對(duì)源代碼進(jìn)行保護(hù), 可以采用對(duì)源代碼進(jìn)行加密的方式.要實(shí)現(xiàn)該功能需要兩部分:


一是加密程序,實(shí)現(xiàn)對(duì)PHP文件的加密. 另一個(gè)就是對(duì)加密過(guò)的PHP文件進(jìn)行解析, 以得到運(yùn)行結(jié)果. 前者的實(shí)現(xiàn)比較簡(jiǎn)單, 就是一程序而已. 后者的實(shí)現(xiàn)大部分都是通過(guò)php module的形式來(lái)實(shí)現(xiàn)的.


php_screw(螺絲釘)可以實(shí)現(xiàn)以上的功能.最新版本是1.5,可以在sourceforge上下載.


安裝:


安裝的目的其實(shí)就是產(chǎn)生兩個(gè)文件:一個(gè)是用于加密PHP文件的screw, 另一個(gè)就是php加載的解析模塊php_screw.so


1.將源代碼包展開(kāi), 并進(jìn)入該入目錄:


2. 執(zhí)行phpize, 就會(huì)在該目錄下產(chǎn)生一個(gè)configure


3. 然后,運(yùn)行configure


4. 再make


這樣, 解析用的php_screw.so就生成了. 接下來(lái)要得到加密用的screw


1. 進(jìn)入源碼的tools目錄


2. make


這樣就生成了screw了. 如果要加密一個(gè)lx.php文件, 則: screw lx.php, lx.php就變成加密的了, 原來(lái)明文的lx.php被改名為lx.php.screw


接下來(lái)的任務(wù)就應(yīng)該是加載php_screw.so模塊了,


首先, 將該文件COPY到module目錄下, 具體是哪個(gè)目錄,可以參見(jiàn)/etc/php.ini配置文件中的extension_dir項(xiàng),RHEL 5中為/usr/lib/php/modules


方法一:可以在/etc/php.d目錄下新建一個(gè)screw.ini文件,其內(nèi)容是一句話extension=php_screw.so


方法二:通過(guò)修改php.ini文件, 增加了一句extension=php_screw.so, 重啟apache后就成功了.


測(cè)試:


編寫(xiě)一個(gè)hello, world程序,文件名為hello.php如下:









1 <?php






2 echo "Hello,world";






3 ?>



用php  hello.php測(cè)試程序是否能成功顯示, 成功顯示后, 用screw對(duì)其進(jìn)行加密(screw  helllo.php), 然后cat一下該php文件, 發(fā)現(xiàn)已經(jīng)不是文本的了, 變成了許多亂字符, 說(shuō)明加秘成功, 然后再php  hello.php, 如果能正常顯示hello,world, 則說(shuō)明加密的解析也沒(méi)有問(wèn)題了, 一切就算OK了.否則, 就說(shuō)明還有不對(duì)的地方, 需要再仔細(xì)檢查.


安裝過(guò)程中遇到的問(wèn)題:


1.找不到phpize


phpize是屬于php-develp的一個(gè)工具, (具體作用請(qǐng)自行解決) 因此, 必須要安裝php-develp包. 中間有一些依賴(lài), 如下:









01 [root@localhost Server]# rpm -ivh php-devel-5.1.6-5.el5.i386.rpm 






02 warning: php-devel-5.1.6-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






03 error: Failed dependencies:






04         autoconf is needed by php-devel-5.1.6-5.el5.i386






05         automake is needed by php-devel-5.1.6-5.el5.i386






06 [root@localhost Server]# rpm -ivh autoconf






07 autoconf213-2.13-12.1.noarch.rpm  autoconf-2.59-12.noarch.rpm       






08 [root@localhost Server]# rpm -ivh autoconf-2.59-12.noarch.rpm 






09 warning: autoconf-2.59-12.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






10 error: Failed dependencies:






11         imake is needed by autoconf-2.59-12.noarch






12 [root@localhost Server]# rpm -ivh imake-1.0.2-3.i386.rpm 






13 warning: imake-1.0.2-3.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






14 Preparing...                ########################################### [100%]






15    1:imake                  ########################################### [100%]






16 [root@localhost Server]# rpm -ivh autoconf-2.59-12.noarch.rpm 






17 warning: autoconf-2.59-12.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






18 Preparing...                ########################################### [100%]






19    1:autoconf               ########################################### [100%]






20 [root@localhost Server]# rpm -ivh automake






21 automake14-1.4p6-13.noarch.rpm  automake16-1.6.3-8.noarch.rpm   automake-1.9.6-2.1.noarch.rpm   






22 automake15-1.5-16.noarch.rpm    automake17-1.7.9-7.noarch.rpm   






23 [root@localhost Server]# rpm -ivh automake-1.9.6-2.1.noarch.rpm 






24 warning: automake-1.9.6-2.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






25 Preparing...                ########################################### [100%]






26    1:automake               ########################################### [100%]






27 [root@localhost Server]# rpm -ivh php-devel-5.1.6-5.el5.i386.rpm 






28 warning: php-devel-5.1.6-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186






29 Preparing...                ########################################### [100%]






30    1:php-devel              ########################################### [100%]



2.每個(gè)加密的文件頭部都一個(gè)很明顯的字符串PM9SCREW, 這樣很容易被人猜到是用screw加密的.


這個(gè)問(wèn)題的解決需要在安裝的第一步就開(kāi)始. 該標(biāo)識(shí)串在源碼的php_screw.h中. 在編譯之前, 可以更改這個(gè)字符串, 例如,更改為PeterHu, 相應(yīng)的下面的長(zhǎng)度就不再是10了, 而是\tPeterHu\t,一共7個(gè)了.









1 #define PM9SCREW        "\tPM9SCREW\t"






2 #define PM9SCREW_LEN     10

該文章在 2012/6/3 0:49:45 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲高清AV一区二区三区 | 在线观看午夜福利片日本 | 思思久久精品6一本打道 | 亚洲字字幕在线中文乱码 | 日本日本乱码视频在线看 | 日韩国产亚洲欧美中国v |