国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

保護(hù)JavaScript客戶端APP的最有效方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:31:35
文檔

保護(hù)JavaScript客戶端APP的最有效方法

保護(hù)JavaScript客戶端APP的最有效方法:客戶端技術(shù),如 JavaScript,有很多有用的特性,正因為如此,它成為了世界上最流行的語言之一。它有很多優(yōu)點,即時解析就是其一。即時解析有不少優(yōu)點,比如可以在瀏覽器下載代碼并立即執(zhí)行。然而,自由度越高,責(zé)任越大。我們會在這篇文章中深入 JavaSc
推薦度:
導(dǎo)讀保護(hù)JavaScript客戶端APP的最有效方法:客戶端技術(shù),如 JavaScript,有很多有用的特性,正因為如此,它成為了世界上最流行的語言之一。它有很多優(yōu)點,即時解析就是其一。即時解析有不少優(yōu)點,比如可以在瀏覽器下載代碼并立即執(zhí)行。然而,自由度越高,責(zé)任越大。我們會在這篇文章中深入 JavaSc
客戶端技術(shù),如 JavaScript,有很多有用的特性,正因為如此,它成為了世界上最流行的語言之一。它有很多優(yōu)點,即時解析就是其一。即時解析有不少優(yōu)點,比如可以在瀏覽器下載代碼并立即執(zhí)行。然而,自由度越高,責(zé)任越大。

我們會在這篇文章中深入 JavaScript 的安全隱患,不過范圍僅限于瀏覽器中運(yùn)行的前端代碼。我們會關(guān)注一些將來產(chǎn)生的其它類型。

現(xiàn)在發(fā)揮你的想像,瀏覽器總是要執(zhí)行代碼的,它首先下載頁面并進(jìn)行解析。瀏覽器有著下載和解析同時進(jìn)行的能力,所以它不會等待所有東西下載完成。那么,它遇到 JavaScript 的時候會發(fā)生什么事情?

JavaScript會阻塞渲染,這在它執(zhí)行的時候是個巨大的優(yōu)勢。但這意味著瀏覽器將停止解析,直到執(zhí)行完 JavaScript 后才會繼續(xù)。這一特點給于這種編程語言極大的靈活性,它可以打開任意數(shù)量的代碼。

但問題在于,這個特性會帶來什么樣的影響?

<div id="hack-target"></div> 
<button>Set Value</button> 
<script> 
 document.querySelector('button').addEventListener('click', setValue); 
 function setValue() { 
 var value = '2'; 
 document.getElementById('hack-target').innerText = value; 
 }</script>

這段代碼為 HTML 綁定事件,當(dāng)你點擊按鈕的時候,觸發(fā)回調(diào)。

對于客戶端的 JavaScript,你可以在設(shè)置值的地方設(shè)置一個斷點。這個斷點會在事件觸發(fā)的時候擊中。var value = '2'; 用于設(shè)置值,而且可以修改。調(diào)試器會在這里暫停并允許篡改頁面。這一功能非常有用,而且當(dāng)它發(fā)生的時候,瀏覽器不會對它進(jìn)行標(biāo)記。

既然調(diào)試器暫停了執(zhí)行代碼,它同時也暫停了渲染。調(diào)試器本身是瀏覽器提供的工具之一,任何人都可以使用。這就是 Web Developer Tools(開發(fā)者工具)。

在 Code Pen 上可以看到這種技術(shù)的應(yīng)用。下面是關(guān)于這個特性的截圖:

wKiom1gpqkLx9VETAAAZXesw_34645.jpg-wh_651x-s_148963883.jpg

這一特性對調(diào)試 JavaScript 十分有用,但是它的安全性如何呢?

這個特性意味著攻擊者可以在運(yùn)行時改變 JavaScript。攻擊者可以通過斷點暫時執(zhí)行,然后修改 DOM 并在控制臺輸入任意 JavaScript 代碼。這類功能可以利用客戶端的漏洞,更改數(shù)據(jù),支持會話并在頁面內(nèi)用 JavaScript 作出任意改動。

例如,打開開發(fā)者工具,進(jìn)入控制臺頁面,并輸入:

document.querySelector('button') 
 .addEventListener('click', function () { 
 alert('sacked'); 
 });`

下次這個事件再觸發(fā)的時候,它會執(zhí)行修改后的 JavaScript 代碼。

為什么是 JavaScript?

你可能想問,這一切從何而來?Netscape 在1995年發(fā)布JavaScript的時候,這種新語言就成為了 Web 的 “膠水語言”。

Netscape 把 JavaScript 標(biāo)準(zhǔn)提交給Ecma國際組織之后,他們的版本就成為了標(biāo)準(zhǔn),也就是大家所知的 ECMAScript。既然 ECMAScript 是一個標(biāo)準(zhǔn),任何瀏覽器都被要求支持這個標(biāo)準(zhǔn),這樣在使用不同的瀏覽器時才會不發(fā)生沖突。也就是說,你可以為谷歌瀏覽器寫一段代碼,但它同時也能在 Opera、NetScape、Internet Explorer 和 Microsoft Edge 中運(yùn)行。JavaScript 創(chuàng)建于靈活的環(huán)境,它有能力讓你做你想做的事情。這些設(shè)計原則使用 JavaScript 自然具有了動態(tài)的天賦,也使它成為瀏覽器的語言。

這些都已經(jīng)成為歷史,但與 JavaScript 的安全性有什么關(guān)系?

客戶端安全

為了防止惡意的 JavaScript 代碼,最好的選擇是添加運(yùn)行時保護(hù)。運(yùn)行時程序自我保護(hù)(Runtime Application Self-Protection,RASP)將在執(zhí)行客戶端代碼的時候?qū)λ右员Wo(hù)。隨著 Web 靈活性和動態(tài)性的到來,攻擊者通過客戶端 JavaScript 進(jìn)行攻擊成為可能,運(yùn)行時安全也成為必要。

RASP 是最為有效的客戶端應(yīng)用保護(hù)方式,總結(jié)起來如下所示:

運(yùn)行時程序自我保護(hù)是一種安全技術(shù),它創(chuàng)建或鏈接到應(yīng)用程序或其運(yùn)行環(huán)境,并控制應(yīng)用程序執(zhí)行,檢測和防止實時攻擊。

一旦JavaScript 在瀏覽器中執(zhí)行,沒有任何東西對其完全防護(hù)。RASP 會防范發(fā)生在運(yùn)行時的高度和代碼篡改攻擊,包括在離線狀態(tài)修改應(yīng)用程序的攻擊。一個好的 RASP 解決方案也會保護(hù)自身代碼,使攻擊者不能篡改解決方案本身,或者直接繞過它。這幾層保護(hù)保證著開放網(wǎng)絡(luò)的安全。

如果 RASP 不錯,它會在攻擊者嘗試阻止代碼的時候發(fā)出通知,以便用戶知道并采取行動,比如取消用戶會話。

Jscrambler提供了一個 RASP 解決方案來保證應(yīng)用不受到運(yùn)行時攻擊。它會自我防御并檢測篡改。它的自我防御能力會激活對 JavaScript 應(yīng)用的保護(hù)。Jscrambler 使用反調(diào)試和反篡改技術(shù)——眾所周知的應(yīng)用程序保護(hù)概念——對 JavaScript 而言明確現(xiàn)實和局限。反調(diào)試功能檢測調(diào)試工具(比如 DevTools, Firebug)的使用,并試圖阻止逆向工程師使用它來調(diào)試應(yīng)用。它包含一些預(yù)置的代碼陷阱,使調(diào)試器停止工作,造成堆棧的增長,阻止用戶探查應(yīng)用的控制流。反篡改功能則會檢查代碼的變化,并做出反應(yīng)。比如,你在自動防御所保護(hù)的一個函數(shù)中添加/刪除一個分號,它會檢測到變化,然后停止運(yùn)行代碼。兩種技術(shù)與代碼混淆結(jié)合會使得對應(yīng)用程序的篡改寸步難行。

結(jié)論

實現(xiàn) JavaScript 的安全性必須考慮在運(yùn)行時會發(fā)生什么。它本質(zhì)上來說是為 Web 的靈活性而生的動態(tài)語言。它是一柄雙刃劍,使用的時候一定要注意到應(yīng)盡的責(zé)任。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

保護(hù)JavaScript客戶端APP的最有效方法

保護(hù)JavaScript客戶端APP的最有效方法:客戶端技術(shù),如 JavaScript,有很多有用的特性,正因為如此,它成為了世界上最流行的語言之一。它有很多優(yōu)點,即時解析就是其一。即時解析有不少優(yōu)點,比如可以在瀏覽器下載代碼并立即執(zhí)行。然而,自由度越高,責(zé)任越大。我們會在這篇文章中深入 JavaSc
推薦度:
標(biāo)簽: app 軟件 保護(hù)
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 成人免费视频一区二区 | 欧美成人看片一区二区三区尤物 | 国产在线精品一区二区 | 国产在线观看精品 | 久久香蕉国产线看观看乱码 | 快播电影网日韩新片 | 亚洲欧美日韩在线观看 | 超在线视频 | 美女一级毛片免费观看 | 亚洲黄色一区 | 国产一级精品视频 | 黄网站色视频免费观看45分钟 | 亚洲欧美自拍一区 | 欧美日韩视频一区三区二区 | 亚洲伊人久久综合一区二区 | 最新国产区| 国产成人综合久久精品亚洲 | 国产中文字幕视频 | 亚洲欧美天堂 | 韩国精品一区二区 | 欧美第一页 | 日韩www| 日本成人一区二区 | 免费观看性欧美大片 | 亚洲 欧美 日韩 小说 另类 | 亚洲国产日韩在线精品频道 | 免费一级毛片视频 | 波多野结衣网站 | h片免费在线观看 | 日韩欧美色图 | 国产午夜电影在线观看 | 国产在线欧美日韩精品一区二区 | 91免费国产视频 | 久久国产精品成人免费古装 | 国产成人一区二区小说 | 国产观看在线 | 欧美激情在线一区二区三区 | 国产不卡视频在线播放 | 亚洲精品乱码久久久久久 | 日韩欧美高清视频 | 中文国产成人精品久久一区 |