helmet是一個保護Node.JS應用的安全專案
Helmet是一系列幫助增強Node.JS之Express/Connect等Javascript Web應用安全的中介軟體。
一些著名的對Web攻擊有XSS跨站指令碼, 指令碼注入 clickjacking 以及各種非安全的請求等對Node.js的Web應用構成各種威脅,使用Helmet能幫助你的應用避免這些攻擊。
安裝Helmet:
npm install helmet --save
在Express使用Helmet:
Helmet安全功能有:
1crossdomain是用來服務crossdomain.xml
2.contentSecurityPolicy是設定Content Security Policy,防止XSS攻擊。
3.hidePoweredBy可以移除 X-Powered-By 頭部
4.hsts用於 HTTP Strict Transport Security
5.ieNoOpen設定IE8+的 sets X-Download-Options
6.noCache 失效客戶端快取
7.noSniff能避免客戶端進行MIME型別進行嗅探。
8.frameguard阻止clickjacking
9.xssFilter能夠增加一些小的XSS保護功能。
呼叫app.use(helmet());可以預設啟用上述9項功能的7項,排除的兩項是contentSecurityPolicy 和noCache。
使用Content Security Policy (CSP) 防禦XSS攻擊案例程式碼:
具體使用和說明除了參考其Github說明外,還可以參考這篇文章:Protect Your Node App's Noggin With Helmet
一些著名的對Web攻擊有XSS跨站指令碼, 指令碼注入 clickjacking 以及各種非安全的請求等對Node.js的Web應用構成各種威脅,使用Helmet能幫助你的應用避免這些攻擊。
安裝Helmet:
npm install helmet --save
在Express使用Helmet:
// Load required modules var express = require('express'); var helmet = require('helmet'); // Create our Express application var app = express(); // Simple endpoint app.get('/', function(req, res) { res.send('Time to secure your application...'); }); // Start the server app.listen(3000); <p class="indent"> |
Helmet安全功能有:
1crossdomain是用來服務crossdomain.xml
2.contentSecurityPolicy是設定Content Security Policy,防止XSS攻擊。
3.hidePoweredBy可以移除 X-Powered-By 頭部
4.hsts用於 HTTP Strict Transport Security
5.ieNoOpen設定IE8+的 sets X-Download-Options
6.noCache 失效客戶端快取
7.noSniff能避免客戶端進行MIME型別進行嗅探。
8.frameguard阻止clickjacking
9.xssFilter能夠增加一些小的XSS保護功能。
呼叫app.use(helmet());可以預設啟用上述9項功能的7項,排除的兩項是contentSecurityPolicy 和noCache。
使用Content Security Policy (CSP) 防禦XSS攻擊案例程式碼:
// Load required modules var express = require('express'); var helmet = require('helmet'); // Create our Express application var app = express(); // Implement CSP with Helmet app.use(helmet.csp({ defaultSrc: ["'self'"], scriptSrc: ['*.google-analytics.com'], styleSrc: ["'unsafe-inline'"], imgSrc: ['*.google-analytics.com'], connectSrc: ["'none'"], fontSrc: [], objectSrc: [], mediaSrc: [], frameSrc: [] })); // Simple endpoint app.get('/', function(req, res) { res.send('Time to secure your application...'); }); // Start the server app.listen(3000); <p class="indent"> |
具體使用和說明除了參考其Github說明外,還可以參考這篇文章:Protect Your Node App's Noggin With Helmet
相關文章
- 為你的網站帶上帽子 — 使用 helmet 保護 Express 應用網站Express
- 72 個網路應用安全實操要點,全方位保護 Web 應用的安全Web
- 執行時應用自我保護(RASP):應用安全的自我修養
- 你的應用安全嗎? ——用Xray和Synk保駕護航
- [譯] 用 Apache Shiro 來保護一個 Spring Boot 應用ApacheSpring Boot
- 25-移動應用安全需求分析與安全保護工程
- 如何檢視一個ELF檔案開啟了哪些安全保護?
- 保護資料庫的安全(一)資料庫
- 為 Node.js 應用建立一個更安全的沙箱環境Node.js
- 用智慧財產權保護專案,構建產品的護城河
- 任何前端應用都不可能被安全保護? - kuzzle前端
- 後稜鏡門時代:開發者保護應用安全的5大技巧
- 橢圓曲線法在微軟安全保護CDKey的應用微軟
- HarmonyOS:應用隱私保護
- 一個金融應用專案的總結 (轉)
- 保護資料和日誌檔案的安全
- 保護MacBook安全,分享5個物理技巧Mac
- 2、Node.js 第一個應用Node.js
- 代理伺服器是如何保護網路安全的?伺服器
- 保護大資料安全的10個要點大資料
- Angular SSR 應用啟動時的一些保護措施Angular
- 網路遊俠:使用WEB應用防火牆保護網站安全Web防火牆網站
- 保護網站安全網站
- 區塊鏈是怎麼做到保護食品安全的區塊鏈
- 如何用node.js建立一個應用Node.js
- 用日誌系統保護Linux安全Linux
- 四個保護資料安全的技術實踐
- 七個技巧保護你的電子郵件安全
- 維護一個開源專案25年是什麼體驗?
- 防火牆是什麼?F5保護Web應用的思路解讀防火牆Web
- 從一個專案談XP在國內的應用
- iOS加固原理與常見措施:保護移動應用程式安全的利器iOS
- ModernUI教程:第一個ModernUI應用(採用專案模板)UI
- 網路安全中等級保護備案證明辦理流程是什麼?
- Web應用安全防護-WAFWeb
- 保護資料庫的安全(二)資料庫
- 保護Oracle資料庫的安全Oracle資料庫
- 保護Linux伺服器安全的四個要點!Linux伺服器