UNPKG

nehonix-uri-processor

Version:

A powerful URI processor for encoding, decoding, and analyzing URI data securely.

51 lines 1.34 kB
/** * Default options for the middleware */ export const defaultOptions = { blockOnMalicious: true, logDetails: true, automaticBlocking: false, scoreThreshold: 80, enableRateLimit: false, rateLimit: { windowMs: 15 * 60 * 1000, // 15 minutes maxRequests: 100, message: "Too many requests, please try again later", }, scanComponents: ["url", "query"], transformResponse: false, secureHeaders: true, }; /** * Stores IPs that have been flagged as suspicious */ export const suspiciousIPs = new Map(); /** * Rate limiting storage */ export const rateLimitStore = new Map(); /** * Deduplicates patterns */ export function deduplicatePatterns(patterns) { const seen = new Map(); patterns.forEach((pattern) => { const key = `${pattern.type}:${pattern.matchedValue}:${pattern.location}`; if (!seen.has(key)) { seen.set(key, pattern); } }); return Array.from(seen.values()); } /** * Gets client IP from request */ export function getClientIP(req) { const forwardedFor = req.get("X-Forwarded-For"); if (forwardedFor) { // Get the first IP in the chain return forwardedFor.split(",")[0].trim(); } return req.ip || req.socket.remoteAddress || "0.0.0.0"; } //# sourceMappingURL=EXPRESS.config.js.map