天天看點

php+zend guard

就本次DZ論壇密碼洩露進行了一次加密方式的調研,分享以下内容;

關于php 加密方式有兩種

1、代碼層加密

加密:對配置檔案中資料庫的密碼字元串進行加密,可采用mac、jason

解密:對所有需要讀取資料庫配置檔案中密碼串的頁面所調用的方法,類添加對應的解密

優點:

對單個字元串的加密,便于後續對線上代碼的靈活變動

缺點:

改動大消耗人力高

2、應用層加密

加密:采用zend guard 6.0

加密php檔案,或對整個工程進行加密;

解密:php+添加zend子產品,php程式會自動解析加密後的檔案;

操作簡便

對于後續配置檔案修改等操作不便

官網下載下傳加密程式http://www.zend.com/en/downloads(具體下載下傳位址忘記了)ZendGuard-6_0_0.exe

官網下載下傳解密子產品http://www.zend.com/en/products/guard/thank-you-zend-guard?package=1518

安裝ZendGuard-6_0_0.exe

點選file建立project

php+zend guard

配置項目名稱

php+zend guard

點選ADDfile 選擇要加密的檔案

注意:加密檔案不可以和輸出檔案在同一目錄下,或存在父目錄與子目錄的關系

php+zend guard

配置php版本,zend6.0

預設輸出版本為PHP5.4  需要将 User global source options 勾選取消,然後選擇PHP version 5.3

php+zend guard

一切配置完畢後選擇工程點選 ENcode

php+zend guard

執行完畢後會在設定的輸出目錄産生加密後的同名php檔案,将加密後的檔案放置linux代碼中;

需要配置linux

伺服器上php添加ZEND子產品,同時要確定與php版本比對

将解密壓縮包解壓

#tar zxf

ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

将包中so檔案放入php-lib庫目錄中

cp  ZendGuardLoader.so

/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626

添加php.ini配置如下

[Zend]

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ZendGuardLoader.so"

zend_optimizer.enable_loader="1"

zend_optimizer.optimization_level="0"