UNPKG

zexson_toolkit

Version:

Zexson Toolkit is a powerful encryption and tokenization library developed by Zexson Team. It offers proprietary encryption algorithms, high-security random token generation, and advanced object comparison features. It includes many advanced security func

42 lines (41 loc) 1.38 kB
/** * CSRF (Cross-Site Request Forgery) protection middleware for Express applications. * This middleware manages CSRF tokens for secure form submissions and API requests. * * The middleware adds three methods to the request object: * - `isCsrf()`: Validates if the current request has a valid CSRF token * - `createCsrf()`: Generates a new CSRF token and stores it * - `deleteCsrf()`: Removes the current CSRF token * * Tokens are stored in memory and automatically expire after a set time period. * * @param {any} req - Express request object * @param {any} res - Express response object * @param {Function} next - Express next middleware function * * @example * // In your Express app setup * import { csrfMiddleware } from './middleware/csrf' * app.use(csrfMiddleware) * * // In your route handler * app.post('/form-submit', (req, res) => { * // Verify CSRF token * if (!req.isCsrf()) { * return res.status(403).send('Invalid CSRF token') * } * * // Process the request * // ... * * // Generate a new token for the next request * const newToken = req.createCsrf() * res.cookie('csrfToken', newToken) * res.send('Success') * }) * * @since 1.1.3 * @category Security */ declare const csrfMiddleware: (req: any, res: any, next: () => any) => void; export { csrfMiddleware };