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
相關文章
- 72 個網路應用安全實操要點,全方位保護 Web 應用的安全Web
- [譯] 用 Apache Shiro 來保護一個 Spring Boot 應用ApacheSpring Boot
- 執行時應用自我保護(RASP):應用安全的自我修養
- 你的應用安全嗎? ——用Xray和Synk保駕護航
- 為 Node.js 應用建立一個更安全的沙箱環境Node.js
- 用智慧財產權保護專案,構建產品的護城河
- 25-移動應用安全需求分析與安全保護工程
- 任何前端應用都不可能被安全保護? - kuzzle前端
- 2、Node.js 第一個應用Node.js
- HarmonyOS:應用隱私保護
- 如何用node.js建立一個應用Node.js
- 保護大資料安全的10個要點大資料
- 保護MacBook安全,分享5個物理技巧Mac
- Angular SSR 應用啟動時的一些保護措施Angular
- 代理伺服器是如何保護網路安全的?伺服器
- 維護一個開源專案25年是什麼體驗?
- 保護Linux伺服器安全的四個要點!Linux伺服器
- 四個保護資料安全的技術實踐
- Prometheus為你的SpringBoot應用保駕護航PrometheusSpring Boot
- 區塊鏈是怎麼做到保護食品安全的區塊鏈
- 防火牆是什麼?F5保護Web應用的思路解讀防火牆Web
- 8 個你應該瞭解的環保開源專案
- iOS加固原理與常見措施:保護移動應用程式安全的利器iOS
- 保護網站安全網站
- Web應用安全防護-WAFWeb
- 網路安全中等級保護備案證明辦理流程是什麼?
- 同一個專案中的多個Spring Boot應用實現CQRS - itnextSpring Boot
- 數字水印在資料安全保護中的應用實踐和最佳化
- 墨者安全認為版權保護是當下的重中之重
- 從執行的node.js應用程式確定專案根目錄Node.js
- 2.9.4 事務保護和應用的連續性
- 使用 Rootless Linux 容器保護您的 .NET 雲應用Linux
- 能夠保護客戶安全的CRM是怎樣實現的?
- 7個溫馨提示,教你保護網路安全!
- 幾維安全SDK應用加固,全線5折為APP保駕護航APP
- 精讀《維護好一個複雜專案》
- 確保應用程式安全性
- 使用這些 HTTP 頭保護 Web 應用HTTPWeb
- Android應用安全防護的點點滴滴Android