Introdução ao CSURF
É uma biblioteca para criar e validar CSRF Token em formulários.
Configuração
- Importar o pacote csurfcom NPM:
$ npm i csurf- Importar csurfno arquivo de entrada da aplicação:
const csrf = require("csurf");- Adicionar o csurf no contexto do Express:
app.use(csrf());
 
app.use(routes);Importante
Declarar
app.use(csrf());antes de definir as rotas (app.use(routes);)
- Criar middlewares para tratar o Token CSRF:
exports.checkCsrfError = (err, req, res, next) => {
 if (err && "EBADCSRFTOKEN" === err.code) {
   return res.render("404");
 }
};
 
exports.csrfMiddleware = (req, res, next) => {
 res.locals.csrfToken = req.csrfToken();
 next();
};- Adicionar os middlewares criado na etapa anterior no contexto do Express:
app.use(csrf());
app.use(checkCsrfError);
app.use(csrfMiddleware);
 
app.use(routes);- Para qualquer formulário da aplicação é necessário adicionar uma tag oculta nele:
<input type="hidden" name="_csrf" value="<%= csrfToken %>" /><form action="/" method="post">
 <label>Cliente</label>
 <input type="text" name="cliente" />
 <button>Submit</button>
</form>