我正在尝试使用cookie-session设置csrf保护,就像c冲浪文档明确提到的那样,但是加载我的/form页面会返回一个500,并且“配置错误的csrf”会被记录到控制台。
import csrf from 'csurf'
import express from 'express'
import cookieSession from 'cookie-session'
const app = express()
const CookieSettings = {
name: 'session',
keys: ['keyone', 'keytwo'],
httpOnly: true
}
//template engine stuff
app.use(cookieSession(CookieSettings))
app.use(csrf({ cookie: true }))
app.use(express.urlencoded({ extended: true }))
app.get('/form', (req, res) => {
res.render('form.html', { csrf: req.csrfToken() })
}
app.post('/form', (req, res) => {
console.log('CSRF: ', req.body._csrf)
res.redirect(303, '/form')
}
app.listen(3000)发布于 2022-08-29 14:27:36
如果要使用cookie ["csrf({ cookie: true })"],则应使用库cookie-parser github,否则,应使用会话。
https://stackoverflow.com/questions/71913920
复制相似问题