9951 explained code solutions for 126 technologies


expressjsHow do I implement CSRF protection in an Express.js application?


To implement CSRF protection in an Express.js application, you can use the csurf middleware. It provides easy-to-use protection against Cross-Site Request Forgery attacks.

First, install the csurf package:

npm install csurf

Then, require the package in your app and use it as a middleware:

const csrf = require('csurf');
const csrfProtection = csrf({ cookie: true });

app.use(csrfProtection);

The csrfProtection middleware will add a req.csrfToken() function to the request, which can be used to create the CSRF token. This token should be added as a hidden field to all forms in the application:

<input type="hidden" name="_csrf" value="<%= csrfToken %>">

Finally, the middleware will check the token on all requests and reject the request if the token is invalid.

Links:

Edit this code on GitHub