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
TypeScript
/**
* 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 };