Rate Limiter

Prevents abuse & DDoS attacks by limiting requests per IP.

securityexpress
v2.0.0middleware

Overview

Implements express-rate-limit middleware for controlling request frequency.

Installation

CLI
npx backternity add rate-limiter

What This Does

Adds rate-limiting middleware to protect routes.

Files & Folders Created

File / PathDescription
/middleware/rateLimiter.jsPreconfigured limiter middleware.

Files to be modified

File / PathDescription
server.jsApplies limiter globally.

Configuration

# Environment Variables
RATE_LIMIT_WINDOW_MS=60000
RATE_LIMIT_MAX_REQUESTS=100

Frontend Integration

The rate limiter protects your API endpoints from abuse. When rate limits are exceeded, specific HTTP responses are returned.

GET/api/test-endpoint

Test any protected endpoint to see rate limiting in action.

GET/api/test-endpoint

Response when rate limit is exceeded.

GET/api/rate-limit/status

Check current rate limit status for your IP.

Example

1// app/components/RateLimitTester.jsx 2'use client'; 3import { useState } from 'react'; 4 5export default function RateLimitTester() { 6 const [result, setResult] = useState(''); 7 const [requestCount, setRequestCount] = useState(0); 8 9 const testRateLimit = async () => { 10 try { 11 const res = await fetch('/api/test-endpoint'); 12 const data = await res.json(); 13 14 if (res.ok) { 15 setRequestCount(prev => prev + 1); 16 setResult(`✅ Request ${requestCount + 1} successful. ${data.rateLimit?.remaining || 'N/A'} requests remaining.`); 17 } else { 18 setResult(`❌ Rate limited! ${data.message}`); 19 } 20 } catch (error) { 21 setResult(`⚠️ Error: ${error.message}`); 22 } 23 }; 24 25 return ( 26 <div className="p-4 border border-white/10 rounded-lg bg-black/30 text-white"> 27 <h3 className="text-lg font-semibold mb-3">Rate Limit Tester</h3> 28 <button 29 onClick={testRateLimit} 30 className="bg-emerald-600 hover:bg-emerald-700 px-4 py-2 rounded font-medium" 31 > 32 Send Request ({requestCount} sent) 33 </button> 34 <p className="text-sm text-gray-300 mt-2">{result}</p> 35 </div> 36 ); 37}

Usage

1const rateLimiter = require('./middleware/rateLimiter'); 2app.use(rateLimiter);

Get in Touch

For partnerships, collaborations, or custom backend components - let’s build something powerful together.

Send us a message

Reach us directly

Email

team@backternity.dev

Quick Answers

Are components free?

Yes, they’re absolutely free to use.

Do you offer custom work?

Absolutely, we build scalable backend systems tailored to your stack.

How often are updates released?

Monthly, with new components, optimizations, and features.

Rate Limiter – Middleware Component | Backternity