標籤:http io ar 使用 sp for 檔案 on 問題
1、前言
php是一個比較流行的軟體,相應的開發產品也很多。如何對自己開發出來的產品保密,保護原始碼,也是大家考慮的一個問題。當你的使用主機託管或者虛擬機器主機的時候,更是一個現實的問題。現在關於加密php程式的,除了zend公司的產品產品,其他的都不盡人意。這裡我給大家介紹一個開源的產品,一個很多好的php加密軟體--php_screw.
他的好處是用了php的zend引擎,而且是對代碼加密,和系統平台沒有任何關係,解決了產品放在其他地方的保密問題。
2、測試環境:
rehat9
php4.3.2
httpd-2.0.50
php_screw.1.2.1 -- :http://sourceforge.net/project/showfiles.php?group_id=52025
3、安裝軟體:
3.1、安裝apache:
# tar zxvf httpd-2.0.49.tar.gz
# cd httpd-2.0.49
# ./configure --prefix=/opt/apache --enable-so
# make
# make install
3.2安裝php:
# tar zxvf php-4.3.2.tar.gz
# cd php-4.3.2
# ./configure --prefix=/opt/php --with-zlib
--with-apxs2=/opt/apache/bin/apxs --disable-xml
--with-config-file-path=/opt/php/etc/php.ini
--disable-rpath --without-pear
(注意:一定要加上--with-zlib這個參數)
# make
# make install
# mkdir /usr/local/php/etc
# cp /home/peng/php-4.3.2/etc/php.ini-disk /usr/local/php/etc/php.ini/php.ini
# vi /usr/local/php/etc/php.ini/php.ini
更改:register_global =Off 為 register_global =OnAddType
結尾添加: zend_extension="/opt/php/lib/php/php_screw.so"
3.3、安裝php_screw:
# tar zxvf php_screw.1.2.1.tar.gz
# cd php_screw.1.2.1
# /opt/php/bin/phpize
# ./configure --with-php-config=/opt/php/bin/php-config
# vi my_screw.h
-------註:這個是密碼檔案,使用者自己設定加密的密碼
# make
-------注make的作用是產生php_screw.so檔案,這個檔案是php用來解釋加密的php檔案的,產生的檔案在./modules目錄下。
# cp ./modules/php_screw.so /usr/local/php/lib/php
# cd tools
# make
--------註:make產生screw 這個可執行檔,它用來加密php檔案,產生加密後的.php檔案。
3.4加密檔案:
這個加密檔案,就是用上一步的make命令產生的screw檔案來產生新的加密檔案。
舉例:加密/opt/php/htdocs/index.htm檔案
# ./screw /opt/php/htdocs/index.htm
程式會產生加密後的檔案叫index.php,而原來加密前的檔案自動備份成index.php.screw。
加密產品所要加密的檔案後,刪除備份檔案。
備份php_screw.so和screw檔案,以後還可以繼續使用他們來加密和解釋。最後刪除php_screw的目錄。
3.5 總結:
對於php_screw這個軟體,無論是在速度和保密性方面,都給人感覺非常不錯。但是唯一的不足是現在還不支援httpd2的線程機制。就是說,在編譯httpd2.50的時候,不能使用--with-mpm=worker的參數。在apache1.x版本的支援沒有問題。
聲明:
寫文章的時候,難免參考很多網友資料,如有雷同,不一定純屬巧合。
本著自由、共用的精神,網友可以任意轉貼,轉貼時請註明作者、出處。
[原創] 用php_screw為php加密[原創吐血推薦]