日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

淘寶攻略

Web前端JS代碼需要保護(hù)嗎?

這得具體情況具體分析:

  1. 如果只是寫一段web頁面圖片輪播,或是跑馬燈效果等等之類簡(jiǎn)單的功能。那不需要保護(hù)。
  2. 如果是精心設(shè)計(jì)一個(gè)絢麗的特效,如果想要保護(hù)這段自己付諸幸苦實(shí)現(xiàn)的特效代碼不被他人隨意拿去使用,那應(yīng)該保護(hù)這段JS代碼!
  3. 如果頁面上有重要的功能是用JS代碼管控的,比如交易邏輯、帳號(hào)密碼信息、個(gè)人隱私、甚至有與遠(yuǎn)程服務(wù)器或數(shù)據(jù)庫(kù)的通信等等,那么相關(guān)的js代碼非常應(yīng)該被保護(hù)、應(yīng)該做JS代碼防盜保護(hù)!否則可能引起被黑客分析、攻擊等嚴(yán)重問題。安全相關(guān)的事情,從來都要防患于未然、不可心存僥幸。除非它對(duì)你毫不重要。

如何保護(hù)Web前端JS代碼?

  1. 打包&壓縮
    有人認(rèn)為打包、壓縮就是對(duì)JS代碼的保護(hù)。確實(shí),打包在一定程度上可以起碼些許保護(hù)作用,好像看起來是如此。但打包、壓縮的目的并不是為了保護(hù)JS代碼,而是為了使用方便、減小代碼體積,方便使用、便于傳輸。比如模塊化的編程可能產(chǎn)生200個(gè)JS文件,如果使用時(shí)逐一用“script src”進(jìn)行引用……這是種折磨,不管是對(duì)于代發(fā)人員,還是網(wǎng)絡(luò)加載(瀏覽器也會(huì)生氣!x_x)。類似Webpacket、Gulp進(jìn)行打包,可以將這些多個(gè)JS合成到一個(gè)文件,并且可能會(huì)進(jìn)行回車、換行、空格的刪除,以實(shí)現(xiàn)代碼壓縮,也有一些簡(jiǎn)單混淆操作:把長(zhǎng)變量名改為統(tǒng)一風(fēng)格的短變量名等。然后,最終生成的一個(gè)文件。代碼總量減小了、可讀性差了、使用方便了。同時(shí)讓有些人認(rèn)為這也實(shí)現(xiàn)了JS代碼保護(hù)。其實(shí)、實(shí)際上、當(dāng)然的代碼并沒有被保護(hù):可讀性依舊,只是代碼量大了一些而已,只要稍稍耐心的讀代碼,會(huì)發(fā)現(xiàn),代碼依然是很易理解的,沒有多少安全性可言。
  2. 混淆&加密
    前端JS代碼的保護(hù),必需要混淆和加密共用。單獨(dú)的JS源代碼加密,是行不通的,更不可能有所謂的JS不可逆加密。因?yàn)榇a在瀏覽器端執(zhí)行時(shí),必須轉(zhuǎn)解密還原成原始代碼,才能被瀏覽器的JS引擎識(shí)別和運(yùn)行。在解密后,會(huì)存在完整的原始JS代碼。這是非常不安全的存在,有多種方法可將原始的JS代碼顯示出來。

JS代碼混淆被不少開發(fā)人員認(rèn)為是不夠高端的JS代碼保護(hù)方式,聽起來不如JS源碼加密更具安全性。事實(shí)上,混淆也有多個(gè)級(jí)別。比如比較低端的字符搜索和串替換、隨機(jī)插入偽僵尸代碼、字符串十六進(jìn)制化等等。而也有高端的手法,會(huì)先進(jìn)行語法分析、詞法分析,重建語法樹,相當(dāng)于已經(jīng)實(shí)現(xiàn)了一個(gè)JS引擎,在引擎中處理代碼,那么,就可以在其中任意一步進(jìn)行自由度極高的操作,比如在語法樹中插入新的語法結(jié)構(gòu)、比如可以將字符串全部提取并進(jìn)行加密、可以對(duì)變量進(jìn)行整體有規(guī)則化的重定義使無意義化等等。這樣就可以實(shí)現(xiàn)真正的代碼重建。這樣重建的JS代碼安全性,將會(huì)有一個(gè)質(zhì)的提升。

當(dāng)正真的混淆和加密聯(lián)合使用,可以實(shí)現(xiàn)真正的JS代碼安全保護(hù)。JS混淆中融入JS加密,JS加密中又嵌入JS混淆。這樣保護(hù)后的代碼,即使在客戶端執(zhí)行環(huán)境中被逆向還原,得到的也是大量含義不明的函數(shù)、代碼、字符串。特別重點(diǎn)是:代碼已經(jīng)經(jīng)過了重建,這時(shí)逆向得到的也是分離后的重建的無意義JS代碼、大量的僵尸代碼、混淆的字符串、不明含意的變量。可讀性與原始代碼相比……天壤之別。

固執(zhí)的人或許還會(huì)說:沒有破解不了的保護(hù)方案,只要我認(rèn)真、用心、用時(shí)的分析,還是能分析出原始代碼含意的,確實(shí),可能如此。

但是,原本的代碼,可能只需要讀10分鐘,而從這樣保護(hù)后的JS代碼讀取原始含意,可能需要……10個(gè)月。而這時(shí)候,我們的JS代碼可能已經(jīng)更新到下一版了。

JS代碼保護(hù)的目的已經(jīng)達(dá)到了,不是嗎?

分享到:
標(biāo)簽:代碼 JS
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定