Express.js helmet Example | Enhance Security In Node.JS App

Blogs ❯❯ NodeJS

Image could not load

Node.JS helmet

किसी भी तरह के application को secure करना , threats और hacking से बचाना काफी important होता है , और इस blog में हम सीखेंगे कि हम अपने Node - Express.JS में develop किये गए application को कैसे secure बनाये।

Well हम जानते है किसी भी request के लिए कुछ particular headers set होते हैं हालाँकि development time पर हम इन पर उतना ध्यान नहीं देते लेकिन security के नजरिये से ये काफी important होते हैं।

किसी request के लिए headers को set करने के लिए Express.js में एक package use कर सकते हैं जिसका नाम है helmet.

What is helmet ?

helmet Node.js package एक middleware है जो Express.js framework के लिए available है , ये package web application security के लिए use होता है।

Helmet, आपके Express application के security headers को set करने में मदद करता है।

how does helmet work ?

Helmet, HTTP headers को set करके web application की security improve करता है। इसमें कुछ predefined security headers होता है जिनको आप अपने Express application में enable कर सकते हैं।

ये headers XSS (Cross-Site Scripting) attacks, Clickjacking, MIME type sniffing, और बाकी security concerns से बचाने में मदद करते हैं।

Express.js helmet Example

अब हम एक helmet package को example से समझेंगे कि इसे कैसे use कर सकते हैं।

1. अपने Express.js application में सबसे पहले helmet package को install कर लें -

npm install helmet

2. Express application में Helmet middleware को include करें -

const express = require('express'); const helmet = require('helmet'); const app = express(); // Helmet middleware. app.use(helmet()); // Your routes and other middleware. app.get('/', (req, res) => { res.send('Hello, World!'); }); // Listen on a port. app.listen(3000, () => { console.log('Server is running on port 3000'); });

Explanation :

इस code में , helmet() middleware को Express application के middleware stack में include किया है। इससे Helmet default security headers automatically set कर देगा।

आप इस application के response headers को inspect करके देख सकते हैं।

Express.js helmet options

helmet package आपको हर तरह के security headers provide करता है जिन्हे नीचे example के साथ दिखाया है।

1. Content Security Policy (CSP)

CSP आपको Cross-Site Scripting (XSS) attack से भी बचाता है। जिसमे आप ये define कर सकते हैं कि किस content का source load करने के लिए allowed है।

const express = require('express'); const helmet = require('helmet'); const app = express(); // Helmet middleware with CSP. app.use( helmet.contentSecurityPolicy({ directives: { defaultSrc: ["'self'"], scriptSrc: ["'self'", 'trusted-cdn.com'], // Add more directives as needed }, }) ); // Helmet middleware. app.use(helmet());

2. X-Powered-By Header Disable

ये header आपके Express application के version information को leak कर सकता है , Helmet के hidePoweredBy middleware से आप से hide कर सकते हैं।

const express = require('express'); const helmet = require('helmet'); const app = express(); // X-Powered-By header ko disable karein app.disable('x-powered-by'); // Helmet middleware app.use(helmet());

3. Referrer-Policy Header

इससे आप Referrer-Policy header set कर सकते हैं।

const express = require('express'); const helmet = require('helmet'); const app = express(); // Helmet middleware with Referrer-Policy header. app.use( helmet.referrerPolicy({ policy: 'same-origin', }) ); // Helmet middleware. app.use(helmet());

4. Expect-CT Header

expectCt middleware से आप Expect-CT header set करते हैं जो Certificate Transparency policy को enforce करता है।

const express = require('express'); const helmet = require('helmet'); const app = express(); // Helmet middleware with Expect-CT header. app.use( helmet.expectCt({ enforce: true, }) ); // Helmet middleware. app.use(helmet());

helmet package के और advance options देखने के लिए आप इस npm की official website https://www.npmjs.com/package/helmet visit कर सकते हैं।

Recent Blogs

Loading ...

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook