成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2021年保護JavaScript的7個步驟

開發 前端
JavaScript是一個高度依賴第三方庫的生態系統。因此,確保JavaScript的安全需要遵循最佳實踐來減少攻擊。但是,我們如何保持JavaScript應用程序的安全?讓我們來了解一下。

[[400099]]

大家好,我是TianTian。

今天分享的內容是如何保護JavaScript的安全性。

正文

今天,JavaScript的使用無處不在。它在你的瀏覽器和后端運行。

此外,JavaScript是一個高度依賴第三方庫的生態系統。因此,確保JavaScript的安全需要遵循最佳實踐來減少攻擊。但是,我們如何保持JavaScript應用程序的安全?讓我們來了解一下。

1. JavaScript的完整性檢查

作為一個前端開發者,你可能已經使用**< script >**標簽來導入第三方庫。你想過這樣做的安全風險嗎?如果第三方資源被篡改了怎么辦?是的,當你在你的網站上渲染外部資源時,這些事情都可能發生。因此,你的網站可能會面臨一個安全漏洞。作為對此的安全措施,你可以在你的腳本中添加一個完整性(也稱為子資源完整性--SRI)代碼,如下所示。

  1. <script 
  2.   src="https://code.jquery.com/jquery-3.3.1.slim.min.js" 
  3.   integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" 
  4.   crossorigin="anonymous"
  5. </script> 

完整性屬性允許瀏覽器檢查獲取的腳本,以確保如果源頭被篡改,代碼永遠不會被加載。

  • 注意:還是要確保你最初引用的代碼不包含任何漏洞。

2. 經常測試NPM的漏洞

我希望你們都知道,我們可以使用npm audit 命令來檢測所有安裝的依賴關系的漏洞。它提供漏洞報告,并為它們提供修復。

但你多長時間做一次呢?

除非我們把它自動化,否則這些漏洞會堆積起來,使之難以修復。記住,其中一些甚至可能是關鍵的,允許嚴重的漏洞。作為一個解決方案,你可以在你的CI中為每個拉動請求運行NPM來識別漏洞。因此,你可以防止任何漏洞不被注意到。

NPM audit security report example

然而,有一些漏洞需要開發人員的手動干預才能解決。

GitHub的一個額外舉措

最近,GitHub推出了一個名為Dependabot的機器人,自動掃描NPM的依賴關系,并通過電子郵件通知你,說明風險。

One such email I have gotten for one of my projects

3. 保持次要和補丁版本更新

你有沒有見過任何NPM軟件包版本前面的^或~符號?

這些符號表示對次要版本和補丁版本(取決于符號)的自動版本提升。從技術上講,次要版本和補丁版本都是向后兼容的,減少了給應用程序引入錯誤的風險。

由于大多數第三方庫發布的熱修復漏洞都是補丁版本的顛簸,至少啟用自動補丁更新有助于降低安全風險。

4. 具備驗證功能以避免注入病毒

作為一條經驗法則,我們不應該只依賴客戶端驗證,因為攻擊者可以根據需要改變它們。然而,通過對每個輸入的驗證,可以省略一些JavaScript注入。

例如,如果你在評論區輸入帶有引號的東西< script > ,這些引號將被替換成雙引號 << scrip t>< /script>>。那么輸入的JavaScript代碼將不會被執行。這被稱為跨網站腳本(XSS)。

同樣地,還有一些其他常見的方法來進行JavaScript注入:

  • 使用開發人員的控制臺來插入或更改JavaScript。
  • 在地址欄中輸入 "javascript:SCRIPT"。

防止JS注入對保持你的應用程序的安全是很重要的。

就像我之前提到的,有驗證的地方是防止它的一個方法。

例如,在保存任何輸入到數據庫之前,用 < ; 替換所有 < ,用 > ; 替換所有 >。

內容安全策略(CSP)是另一種避免惡意注入的方法。使用CSP是非常直接的,如下所示。

  1. Content-Security-Policy: trusted-types; 
  2. Content-Security-Policy: trusted-types 'none'
  3. Content-Security-Policy: trusted-types <policyName>; 
  4. Content-Security-Policy: trusted-types <policyName> <policyName> 'allow-duplicates'

關于CSP的更多信息,請參考這些指南。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

5. 始終保持嚴格模式的開啟

開啟嚴格模式會限制你寫不安全的代碼。

此外,啟用這種模式是很簡單的。就像在你的JavaScript文件中加入下面這一行一樣簡單。

  1. use strict 

當嚴格模式開啟時:

  • 它對一些以前保持沉默的錯誤拋出了錯誤。
  • 修正了使JavaScript引擎難以進行優化的錯誤。
  • 禁止使用可能會在未來版本的ECMAScript中定義的保留詞。
  • 當采取 "不安全 "的行動(如獲得對全局對象的訪問)時拋出錯誤。
  • 多年來,每個現代瀏覽器都支持嚴格模式。如果瀏覽器不支持嚴格模式,該表達式將被簡單地忽略。

6. Lint Your Code

Linters對你的代碼庫進行靜態分析。它有助于建立質量和避免常見的陷阱。

由于質量與安全是相輔相成的,檢查有助于減少安全風險。

我們對JavaScript使用的幾個流行的工具如下:

  • JSLint
  • JSHint
  • ESLint

此外,像SonarCloud這樣的工具也可以用來識別代碼氣味和已知的安全漏洞。一份Sonar報告將看起來像這樣。

注意:正如你在上圖中看到的,它有一個安全部分,顯示了漏洞、安全熱點。

7. 簡化和美化你的代碼

攻擊者通常會試圖理解你的代碼,以入侵他們的方式。

因此,在生產構建中擁有一個可讀的源代碼會增加攻擊性。作為一種常見的做法,如果你對你的JavaScript代碼進行最小化和丑化,就很難利用你編寫的代碼中的漏洞。

然而,如果你想采取極端的措施來隱藏你的代碼,不被用戶/客戶發現,那么它應該被保存在服務器端,根本不需要發送到瀏覽器上。

最后

注重安全是非常重要的,特別是在JavaScript應用程序中,要使你的應用程序安全。

此外,如果你想尋求高級的解決方案。在這種情況下,有一些工具,如Snyk、WhiteSource,它們專門掃描你的代碼中的漏洞,并通過連續的集成將其自動化。

 

責任編輯:姜華 來源: TianTianUp
相關推薦

2015-06-17 09:59:18

2019-10-12 10:00:17

Linux服務器網絡

2021-03-04 11:06:03

云計算開源開源策略

2021-02-21 22:22:40

云端數據云安全網絡安全

2020-12-24 06:57:13

用戶體驗虛擬現實人工智能

2021-02-26 10:24:14

云戰略云計算云服務

2021-03-21 22:16:47

JavaScript開發代碼

2021-06-17 13:56:30

區塊鏈趨勢區塊鏈比特幣

2020-02-11 10:50:08

物聯網安全IT

2019-07-15 14:49:16

網絡安全云計算軟件

2018-04-09 11:41:02

2012-10-31 10:00:01

數據保護數據安全

2021-06-15 11:10:00

JavaScript框架語言

2021-02-01 11:09:58

大數據網絡安全大數據安全

2020-12-20 17:19:24

主機托管邊緣計算遠程工作

2021-06-08 13:28:57

JavaScript開發代碼

2021-05-09 22:45:18

機器學習人工智能技術

2024-06-12 13:51:12

2012-02-21 09:45:03

虛擬化虛擬化環境服務器

2021-02-09 10:53:21

數據科學數據分析IT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久一级大片 | 久久久亚洲成人 | 中文字幕综合 | 亚欧洲精品在线视频免费观看 | 国产欧美日韩在线 | 中文字幕国产视频 | 久久久久国产精品午夜一区 | 国产成人午夜高潮毛片 | 国产区精品在线观看 | 天天草天天爱 | 丁香综合| 国产91丝袜在线播放 | 免费一级做a爰片久久毛片潮喷 | 永久www成人看片 | 国产一区二区三区 | 尤物在线精品视频 | 老外几下就让我高潮了 | 欧美精品一区二区三区在线 | 日韩精品久久久 | 免费看黄色国产 | 黄毛片| 日本三级网| 精品一区二区av | 国产一区亚洲 | 日韩精品免费视频 | 国产日韩精品视频 | 亚洲一区中文字幕 | 嫩草影院黄 | 国产精品99久久久精品免费观看 | 97久久久久久久久 | 欧美精品欧美精品系列 | 国产精品久久久久久久7电影 | 天堂久久网 | 欧美激情第一区 | 美女国内精品自产拍在线播放 | 一区二区三区在线观看视频 | 中文字幕乱码一区二区三区 | m豆传媒在线链接观看 | 久久小视频 | 成人在线视频观看 | a级毛片毛片免费观看久潮喷 |