成品人精品区二区 四虎免费一区二区 欧美在线观看一区 欧美成人在线

1925瀏覽量

php源碼安全加密之PHP混淆算法

來源: 時(shí)間:2020-03-21
一.PHP的加密總體上來說分以下2種:
1.擴(kuò)展組件類加密,代表有:zend、ionCube、SG、php_screw、bcompiler、BZ2等;
2.免擴(kuò)展加密:php某盾等為代表的一批;

二.它們的安全性如何?
組件類加密:對于擴(kuò)展加密,ZEND類為代表的是先編譯成opcode再壓縮執(zhí)行.理論上沒辦法得到源代碼.現(xiàn)在有一些ZEND破解,是通過OPCODE 逆向轉(zhuǎn)回PHP原代碼,好的逆向效果在98%以上.不可能百分百,而php_screw等為代表的加密組件,是對源代碼進(jìn)地xor加密,DES加密等等. 在運(yùn)行時(shí)要先解密,這樣的代碼是可以百分百被破解的.
免組件類加密:PHP某盾們,這一些都是在原有PHP代碼上面增加一個(gè)外殼,類似于NET程序的加殼方法.執(zhí)行時(shí)先通過殼來完成對原始代碼的base64 eval 解壓縮等操作.最終通過Eval執(zhí)行. 此類代碼可被劫持eval百分百還原.

三.什么樣的加密才安全?
增加解密的難度.簡要流程如下:
加密過程:PHP源代碼->PHP代碼混淆器->加密(免組件外殼或組件加密)->加密成品源碼.
執(zhí)行過程:加載程序(免組件外殼或組件加密)->PHP混淆代碼->執(zhí)行代碼.

通過上面流程,我們可以看到因?yàn)镻HP代碼進(jìn)行了混淆處理,所以被得到的代碼是亂的.這樣的代碼還是可以執(zhí)行,但會給閱讀者造成不易讀的情況.另外,加載的程序即外殼的安全性至關(guān)重要.好的外殼,才是保護(hù)程序的關(guān)鍵.
對一源代碼的混淆,可以操作的混淆內(nèi)容有:PHP變量、PHP用戶函數(shù)、PHP系統(tǒng)函數(shù)、PHP類名、PHP字符串,均可以完成加密.有人說過,這樣混淆 效果也不好啊,如何更變態(tài)?PHP支持變量名是ASCII碼的127-255,而這一些字符在編輯器中看全是漢字亂碼. 這樣就可以增加難度性.

四.加密要付出,執(zhí)行要代價(jià)!
如果只是簡單的加密函數(shù)名、變量名還好,如果對字符串進(jìn)行了加密保護(hù).在進(jìn)行每一次字符串操作時(shí)均需要執(zhí)行一次解密操作.會消耗時(shí)間,影響系統(tǒng)執(zhí)行的性能.到使用哪一種加密您值得考慮.

聯(lián)系我們

一次需求提交或許正是成就一個(gè)出色產(chǎn)品的開始。
歡迎填寫表格或發(fā)送合作郵件至: qczsky@126.com

大理青橙科技

電話:13988578755 13988578755

郵箱:qczsky@126.com

地址:大理市下關(guān)龍都春天10層

如果您無法識別驗(yàn)證碼,請點(diǎn)圖片更換

霞浦县| 洛隆县| 余姚市| 南宫市| 昆明市| 桦甸市| 东莞市| 合阳县| 宿州市| 应用必备| 驻马店市| 铜梁县| 阜城县| 大宁县| 岐山县| 沂水县| 沛县| 固始县| 申扎县| 遵化市| 汪清县| 那坡县| 诸暨市| 四川省| 浪卡子县| 海门市| 仙居县| 柳林县| 娄烦县| 同仁县| 宁城县| 乐山市| 通州区| 庆安县| 广饶县| 龙岩市| 泾川县| 信丰县| 昂仁县| 浙江省| 河东区|