php_screw安裝使用教程(另一個PHP代碼加密實現)_php執行個體

來源:互聯網
上載者:User

開始之前,首先要澄清兩個問題:第一,支援開源,不等於反對代碼加密;第二,如果把不屬於自己的東西(比如公司的)拿去開源,就更加不應該了。

以前知道的,PHP代碼的加密都是用Zend的encoder,這東西不但是商業軟體,好像還暴出過能夠被破解的問題,所以就找到了替代的方案────php_screw,一個日本人開發的東東。

php_screw非常小巧,沒有仔細看過它的演算法,但從說明文檔中看,可以自行更改SEED,然後自行編譯so和可執行檔。如果夠牛的話,甚至可以自己去更改演算法。不管怎樣,對於我們這些“普通人”來說,這種加密應該就夠了吧,如果真想滴水不漏,那還是不要公開的好,雖然作者說的並不是很容易就破解,但指不定哪兒有牛群呢不是嗎?

安裝的環境需要:PHP5.x,zlib開啟,autoconf,automake已安裝。

測試環境:Ubuntu 8.04 hardy, PHP 5.2.3。

下載地址:http://sourceforge.net/projects/php-screw/

1、 解壓,更改my_screw.h,裡面的幾個數字就是SEED,相當於密碼,可以隨意更改、增加,並且數位多少不影響解密的速度。

2、編譯so檔案:

複製代碼 代碼如下:

$ phpize
$ ./configure
$ make

如果出現這樣的錯誤,那是因為autoconf沒有安裝:
複製代碼 代碼如下:

$ make
make: *** No targets specified and no makefile found.  Stop.

3、安裝so檔案,編譯好的檔案在modules目錄下,將其拷貝到php extension存放的位置,比如/usr/lib/php5/20060613+lfs下,然後在php.ini中增加:
複製代碼 代碼如下:

extension = php_screw.so

4、編譯用來加密檔案的可執行檔:
複製代碼 代碼如下:

$ cd tools
$ make

tools目錄下新產生的screw就是了,放到$PATH中就可以調用了,比如要加密一個檔案:
複製代碼 代碼如下:

$ screw a.php
Success Crypting(a.php)

加密後的a.php執行正常,同時screw還會把原來沒有加密的檔案改名為.screw檔案作為備份。

Update @ 2008-09-01

加密之後,還有個小問題,用require或include引用放在include_path下的加密代碼時,會當做明文引過來,解決方案有兩種:

使用絕對路徑引用放在include_path下的加密內容,如果是自己的主機,肯定沒問題的;
使用相對路徑來引用,比如在本項目的子目錄內,這樣也是沒問題的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.