Node.js 與 ExpressJS 的 XSS 防禦

在接觸一套框架的時候,我最關心的是 ORM 與資安防護,後者主要是 SQL Injection 與 XSS。

使用 JavaScript 程式語言的 Express.js 後端框架,可以用 Node.js Runtime 在伺服器上執行。

Usama Varikkottil 在 How to fix XSS vulnerabilities in Node.js and expressJS 解釋如何防禦 XSS 攻擊:

1. 在 Node.js 用 validator.escape() 或 xss() 過濾特殊字元,以 HTML Entity 取代顯示 <, >, &, ', " 和 / 字元;用 xss() 過濾輸入字串 避免在客戶端執行攻擊程式碼。需要用 npm 安裝 validator 與 xss。

2. 在 ExpressJS 用 express-validator 的 escape() 過濾特殊字元,以 HTML Entity 取代。需要用 npm 安裝 express-validator。

與我先前負責 McAfee 與 Barrcuda WAF 資安產品,或是用 CodeIgniter 開發處理 SQL Injection 採用直接去除可疑字串的方式不同,改用 HTML Entity 取代,可以保留原始資訊,相對容易追蹤。

這篇文章也讓我從一個簡單的範例瞭解 ExpressJS 如何用 HTTP Post 傳遞資訊,與 PHP 差異很大。

今天也看了許多關於 CPU Thread, OS Thread, Program Thread 的觀念;AOT, JIT, Compiler, Interpreter,資訊太多,還需要時間消化吸收一下。這些名詞雖然早已經學過,也經常使用,但遇到卡關的時候,就像是見山不是山,還是要回歸基本重新檢視自己的認知是否夠深入。
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
2022-08-02 23:52 發佈
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?