Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Express Documentation22টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Routing
  • Middleware
  • Request & Response
  • Static Files
  • Router
  • Error Handling
  • Template Engines
  • Body Parsing
  • File Upload
  • CORS
  • Database
  • Validation
  • Authentication
  • Security
  • REST API
  • Performance
  • Testing
  • Best Practices
  • Project
  • Interview
  1. Docs
  2. Express
  3. Express Security Best Practices
ExpressAdvanced

Express Security Best Practices

Helmet, rate limiting, XSS/SQLi protection, data sanitization — Express security বাংলায়।

9টি অংশবাংলা ভাষায়

Web app-এর নিরাপত্তা গুরুত্বপূর্ণ। Express-এ নিচের middleware গুলোতে অপরিহার্য।

নেওয়া Packages

npm install helmet express-rate-limit express-mongo-sanitize xss-clean hpp
index.jsjavascript
javascript
const express = require("express");
const helmet = require("helmet");
const rateLimit = require("express-rate-limit");
const mongoSanitize = require("express-mongo-sanitize");
const xss = require("xss-clean");
const hpp = require("hpp");

const app = express();

// 1. Security headers
app.use(helmet());

// 2. Data sanitization — XSS
app.use(xss());

// 3. Prevent NoSQL injection
app.use(mongoSanitize());

// 4. Prevent parameter pollution
app.use(hpp());

// 5. Rate limiting
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,  // 15 min
  max: 100,                  // 100 request/IP
  message: { error: "অনেক বেশি request — পরে চেষ্টা করুন" },
});
app.use("/api", limiter);

// 6. Body parsing (JSON only)
app.use(express.json({ limit: "10kb" }));

একটি Hack Attempt

NoSQL injectionbash
bash
# attacker চেষ্টা ↓
POST /api/users
{ "email": { "$gt": "" } }

# mongoSanitize-এ ক্লিন হয় →
{ email: null }

# user data corrupt হয় না

Security Checklist

Areaঅ্যাকশন
Headershelmet() ব্যবহার
Rate limit100-200 req/15min per IP
ValidationZod দিয়ে strict schema
Passwordbcrypt hash, দৃঢ় হলে
JWTshort expiry + secure secret
CORSonly trusted origins
HTTPSproduction-এ সদা HTTPS
Logssensitive data লগে নেই
প্রতিটি request-এ

এই 6 middleware (helmet, xss, mongoSanitize, hpp, rateLimit, json limit) নতুন Express API-তে always যোগ করুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরExpress Authentication (JWT)পরেরRESTful API Design with Express
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com