国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js教程 - 確保JavaScript 安全的五大做法

確保JavaScript 安全的五大做法

2022-01-11 01:27粵嵌教育 js教程

如果你運(yùn)行交互式網(wǎng)站或應(yīng)用程序,JavaScript 安全性是重中之重。 從程序錯(cuò)誤和不安全的用戶輸入到惡意攻擊,有很多事情可能會(huì)出錯(cuò)。

為了幫助你保護(hù)自己和你的用戶,這里給大家介紹幾個(gè)基本的易于實(shí)現(xiàn)的JavaScript安全最佳實(shí)踐,并推薦了一些工具,可以幫助你消除常見漏洞并防止對你的網(wǎng)站或應(yīng)用程序的惡意攻擊。

確保JavaScript 安全的五大做法

1. 使用 JavaScript linter

避免 JavaScript 安全問題的最簡單和最簡單的方法是檢查代碼。Linter 是靜態(tài)代碼分析工具,可檢查你的代碼是否存在編程和風(fēng)格錯(cuò)誤、代碼異味和已知的安全漏洞。

三種最著名的 JavaScript linter 是 JSHint、JSLint 和 ESLint。 現(xiàn)代源代碼編輯器,例如 Visual Studio Code 和 Atom,也帶有可插入的 JavaScript linting 功能。

2. 避免使用內(nèi)聯(lián) JavaScript 并建立內(nèi)容安全策略

使用內(nèi)聯(lián)腳本標(biāo)簽會(huì)使你的網(wǎng)站或應(yīng)用程序更容易受到跨站點(diǎn)腳本 (XSS) 攻擊。 你可以通過將所有腳本(包括內(nèi)聯(lián)事件處理程序(例如 onclick))添加為外部 .js 文件來避免這種 JavaScript 安全風(fēng)險(xiǎn)。

為了提高安全性,我們還建議你建立內(nèi)容安全策略 (CSP)。 這是客戶端和服務(wù)器之間通信中的一個(gè)安全層,允許你向 HTTP 響應(yīng)標(biāo)頭添加內(nèi)容安全規(guī)則。

如果你的頁面上沒有任何內(nèi)聯(lián)腳本,則設(shè)置更有效的 CSP 會(huì)更容易。 你可以使用 script-src 和 default-src 指令來阻止所有內(nèi)聯(lián)腳本,因此如果任何惡意內(nèi)聯(lián)腳本試圖在你的站點(diǎn)上執(zhí)行,它將自動(dòng)失敗。

3. 驗(yàn)證用戶輸入

在客戶端和服務(wù)器端驗(yàn)證用戶輸入對于避免惡意代碼注入至關(guān)重要。

HTML5 表單帶有內(nèi)置的表單驗(yàn)證屬性,例如 required、min、max、type 等,讓你無需在客戶端使用任何 JavaScript,即可檢查用戶數(shù)據(jù)并返回錯(cuò)誤消息。 你還可以使用模式 HTML 屬性通過正則表達(dá)式驗(yàn)證輸入的值。

除了這些 HTML5 屬性之外,現(xiàn)代瀏覽器還支持 Constraint Validation API,允許你使用 JavaScript 執(zhí)行自定義輸入驗(yàn)證。

這是一個(gè) Web API,它擴(kuò)展了屬于表單中使用的不同 HTML 元素(例如 HTMLInputElement、HTMLSelectElement 和 HTMLButtonElement)的 JavaScript 接口,并提供了有用的屬性和方法,用于根據(jù)不同的約束檢查輸入有效性、報(bào)告有效性狀態(tài)以及執(zhí)行其他操作。

4. 轉(zhuǎn)義或編碼用戶輸入

為了避免 XSS 攻擊,對傳入或不安全的數(shù)據(jù)進(jìn)行轉(zhuǎn)義或編碼也很重要。轉(zhuǎn)義和編碼是將可能構(gòu)成安全風(fēng)險(xiǎn)的特殊字符轉(zhuǎn)換為安全形式的兩種技術(shù)。

雖然編碼會(huì)在潛在危險(xiǎn)字符之前添加一個(gè)額外字符,例如 JavaScript 中引號(hào)前的 \ 字符,但轉(zhuǎn)義會(huì)將字符轉(zhuǎn)換為等效但安全的格式,例如將 > 字符轉(zhuǎn)換為 > HTML 中的字符串。

根據(jù)經(jīng)驗(yàn),當(dāng) HTML 實(shí)體(例如 < 和 > 字符)來自不受信任的來源時(shí),你應(yīng)該始終對其進(jìn)行編碼。要轉(zhuǎn)義 URI 和 JavaScript 代碼,你可以使用免費(fèi)的轉(zhuǎn)義/編碼工具,例如 FreeFormatter 的 JavaScript String Escaper 和 URL Encoder/Decoder。

最好避免使用返回未轉(zhuǎn)義字符串的 JavaScript 屬性和方法。例如,你可以使用安全 textContent 屬性而不是解析為 HTML 的 innerHTML(因此字符不會(huì)被轉(zhuǎn)義)。

5. 壓縮、捆綁和混淆你的JavaScript代碼

最后,你可以使用 Webpack 等具有更多安全功能的工具來縮小和捆綁你的代碼,從而使黑客更難理解你的腳本的結(jié)構(gòu)和邏輯。例如,你可以向它加載的每個(gè)腳本添加一個(gè)隨機(jī)數(shù)。

雖然縮小和捆綁腳本通常被視為 JavaScript 最佳實(shí)踐,但混淆是一個(gè)有爭議的話題。 這是因?yàn)闉g覽器加載混淆腳本需要更長的時(shí)間,這會(huì)降低性能和用戶體驗(yàn),尤其是在更高的混淆級(jí)別。 但是,如果你仍然決定對部分或全部腳本進(jìn)行混淆,則可以使用免費(fèi)工具(例如 Obfuscator.io),該工具還具有適用于 Webpack、Grunt、Rollup、Netlify 等流行工具的插件。

遵循這些 JavaScript 安全最佳實(shí)踐可以幫助你使腳本更安全并防止常見攻擊,例如跨站點(diǎn)腳本、跨站點(diǎn)請求偽造、第三方安全漏洞等。

原文鏈接:https://www.toutiao.com/a7050363518175937036/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产免费天天看高清影视在线 | 久久av网| 精品久久久久国产 | 久久久久久高清 | 欧美成人二区 | 欧美色阁| 综合网日韩 | 丰满白嫩老熟女毛片 | 欧美大片一区 | 欧美第一网站 | 性色av一区二区三区红粉影视 | 久久综合久色欧美综合狠狠 | 香蕉yeye凹凸一区二区三区 | 成人综合免费视频 | 成人亚洲欧美 | 国产黄色av| 亚洲影视一区 | 中文字幕一区二区在线观看 | baoyu123成人免费看视频 | 久热亚洲 | 亚洲欧美日韩精品久久亚洲区 | 不卡的免费av | 国产精品视频网 | 国产精品一码二码三码在线 | 久久久久久久国产毛片 | 久久美女| 亚洲视频一区二区 | 操视频网站 | 亚洲精品二三区 | 国产999精品久久久影片官网 | 日本中文一区二区 | 精品国产乱码久久久久久1区2区 | 欧洲成人午夜免费大片 | 国产精品久久久久久久久久三级 | 99久久久精品国产一区二区 | 在线观看中文字幕 | 不卡久久 | 黄色影院在线观看 | 黑人精品欧美一区二区蜜桃 | 日韩影音 | 免费在线一区二区 |