雖然PHP是世界上最好的語言,但是也有一些因為弱類型語言的安全性問題出現。WordPress歷史上就出現過由於PHP本身的缺陷而造成的一些安全性問題,如CVE-2014-0166 中的cookie偽造就是利用了PHP Hash比較的缺陷。
下面為大家介紹一種源碼加密技術:
加密軟件(php_screw)
下載地址:http://sourceforge.net/projects/php-screw/
描述:php文件通常以文本格式存貯在服務器端, 很容易被別人讀到源代碼, 為了對源代碼進行保護, 可以采用對源代碼進行加密的方式.要實現該功能需要兩部分
一是:加密程序,實現對PHP文件的加密
另一個就是:對加密過的PHP文件進行解析, 以得到運行結果. 前者的實現比較簡單, 就是一程序而已. 后者的實現大部分都是通過php module的形式來實現的。
php_screw
(螺絲釘)可以實現以上的功能.最新版本是1.5,可以在sourceforge上下載.
php_screw
是一個日本人開發的PHP加密程序,但只能在LINUX下運行
安裝
描述:安裝的目的其實就是產生兩個文件,一個是用於加密PHP文件的screw, 另一
個就是php加載的解析模塊php_screw.so
安裝環境
系統:centos 5.3
軟件:Apache 2.2.9
PHP 5.2.10
以上環境全部是自己下載配置安裝的。具體的Apache+php+mysql安裝方法請從網上搜索。
安裝步驟
1.用tar解壓縮 tar -zxvf php_screw-1.5.tar.gz
2.進入php_screw-1.5目錄開始安裝
1 2 |
|
關於phpize ,它在php5-dev擴展模塊中 只要安裝php5-dev模塊就行了。
./confiugre
3.設置自己用來加密的密碼
復制代碼 代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4.編譯
1 |
|
5.拷貝modules目錄下的php_screw.so文件到/usr/lib/php5/extension目錄下
1 |
|
6.編輯php.ini文件
在php.ini文件里,加入如下語句
1 |
|
7.重新啟動Apache
1 |
|
8.編譯加密工具
1 2 |
|
9.將tools目錄下加密用的工具screw拷貝到適當目錄
1 |
|
經過以上的10步,就已經把php_screw-1.5全部安裝完成了。並且現在的php也已經支持解釋加密過的php文件了
使用
1.現寫一個要加密的php文件。
我寫了如下的一個用來測試php速度的test.php文件
復制代碼 代碼如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
將上面的test.php文件放到/var/www/目錄下。通過瀏覽器訪問,將顯示出php在大量計算時的速度(粗略估計)
2.將我們寫的php文件加密
1 2 |
|
我們加密后,現在目錄下的test.php文件就是我們已經加密的了。而源文件被改名為test.php.screw存放了。
我們現在再測試一下test.php,看看能否正常使用?速度如何?
我比較了一下,加密前后的速度大概一樣,基本沒有太多的損失。
3.批處理加密文件
在debian, apache2, php5上測試過對.html文件加密后,能正確解析;
php_screw如何對當前目錄下,對目錄下包含的文件,以及包含目錄下的文件進行整體加密
1 2 |
|
這樣在當前目錄下的所有.php文件就全部被加密了。
相了解更多相關問題請訪問php中文網:PHP視頻教程
以上就是php源碼加密方法詳解的詳細內容,更多請關注php中文網其它相關文章!