2023-12-03 分類: 網站建設
背景:在商業用途的情況下,可能需要對php源代碼進行加密
php-是一個pHp源碼加密模塊,使用DES算法進行加密。用戶可以自定義加密密鑰對源代碼進行加密,可以很好地保護您的代碼。主要應用場景有:
1)代碼放在虛擬主機上,有泄露源代碼的風險。
2)商業保護,當項目需要收費時,您可以加密您的代碼,無需修改。
選擇收費的缺點是要花錢,但加密可能更好,性能會更好
選擇開源的好處是不需要花錢,安全性或性能可能不如收費的。
選擇php-作為php的擴展,可以方便快捷的加密php代碼
有這些特點
提供只能在指定機器上運行的功能。要使用這個功能,可以在.c文件中添加可以運行機器的網卡號
密碼可用于設置有效期,超過有效期不能使用密碼。
可以自定義修改默認密鑰,提高被盜可靠性
源碼:/php-可參考文檔
注意,如果系統有多個php版本,安裝方式不同,需要將擴展??安裝到對應的php版本。示例博客:在多個pHp版本共存的環境下安裝到指定版本
系統安裝第一步(注意需要root安裝保證權限)
$ wget https://github.com/liexusong/php-beast/archive/master.zip
$ unzip master.zip
$ cd php-beast-master
$ phpize
$ ./configure
$ sudo make && make install
編譯后修改php.ini配置文件(可能php.ini配置了cli和fpm) cli在命令行運行php,添加配置項:=.so,重啟php-fpm
systemctl restart php-fpm
加密方案進入php--/tool/目錄配置.ini文件
#source path
src_path = ""
#destination path 加密的php 放到的目錄
dst_path = ""
#expire time 源碼使用有效期
expire = "2021-02-13 14:48:12"
#encrypt type 加密類型 可以有 selection: DES, AES, bASE64
encrypt_type = "DES"
進入php--/tool/,執行php .php,加密結果
可自定義修改默認加密源代碼,不易破解
修改加密文件頭結構:打開.c文件,找到如下代碼:
char encrypt_file_header_sign[] = {
0xe8, 0x16, 0xa4, 0x0c,
0xf2, 0xb2, 0x60, 0xee
};
int = (符號);
自定義修改如下代碼(數字范圍:0-8,字母范圍:a-f):
0xe8, 0x16, 0xa4, 0x0c,
0xf2, 0xb2, 0x60, 0xee
修改aes模塊的加密密鑰:
打開php--/.c文件,找到如下代碼:
static uint8_t key[] = {
0x2b, 0x7e, 0x61, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xi7, 0x10, 0x88, 0x09, 0xcf, 0xef, 0xxc,
};
自定義修改如下代碼(數字范圍:0-8,字母范圍:a-f):
0x3b, 0x7d, 0x61, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xi7, 0x10, 0x88, 0x49, 0xcf, 0xef, 0xxc,
修改des模塊加密密鑰:
打開php--/.c文件,找到如下代碼
static char key[8] = {
0x01, 0x1f, 0x01, 0x1f,
0x01, 0x0e, 0x01, 0x0e,
};
// 修改以 {} 里面的代碼(其中的數字的范圍為:0-8,字母的范圍為:a-f):
加密前后時間對比
測試工具ab,10個線程發起100個請求
代碼未加密
$stime=microtime(true); //獲取程序開始執行的時間
$a = 0;
for($i=0;$i<5000000;$i++){
$a=$a*$i;
}
$etime=microtime(true);//獲取程序執行結束的時間
$total=$etime-$stime; //計算差值
echo "
[頁面執行時間:{$total} ]秒";
執行命令時php代碼加密軟件,源代碼未加密
$ ab -n 100 -c 10 http://106.53.5.168:8800/testTime.php
結果一共使用了3.880秒
加密代碼
斤
?`'檁
在執行命令源代碼加密的情況下
$ ab -n 100 -c 10 http://106.53.5.168:8800/testTimeEncode.php
結果是:使用了4.114秒,比沒有加密的情況慢了0.3秒左右
注意使用php-后性能不會下降php代碼加密軟件,而是會有所提升。
主要原因是php-了解密后的代碼,所以第二次訪問時不會進行解密操作,所以會比原文件讀取速度更快。另外,設置更大的緩存效率會更好,可以通過設置。配置項。
在php.ini文件中添加緩存設置
beast.cache_size=100m
重啟 pfm
$ systemctl restart php-fpm
再次執行
$ ab -n 100 -c 10 http://106.53.5.168:8800/testTimeEncode.php
結果:執行結果比原來沒有加密的3.880快3.858秒0.03秒
以上內容希望對大家有所幫助。推進的過程中總會遇到很多問題和瓶頸。寫太多業務代碼沒有方向感。我不知道從哪里開始改進。我整理了一些關于這方面的信息。 ,包括但不限于:分布式架構、高擴展性、高性能、高并發、服務器性能調優、Tp6、、、、、、、優化、腳本、微服務等高級高級干貨需求可以分享給大家免費,需要點這里pHp高級架構師>>>免費提供各大廠商的實用視頻和面試文檔
本文名稱:php-是一個pHp源碼加密的來加密源代碼
網站地址:http://m.newbst.com/news44/298444.html
成都網站建設公司_創新互聯,為您提供小程序開發、網站收錄、服務器托管、域名注冊、搜索引擎優化、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容