Relax CSRF check in non-prod when Origin/Referer missing

This commit is contained in:
2026-03-01 22:27:35 -05:00
parent bdabd56897
commit 98a6b5096c

View File

@@ -103,6 +103,10 @@ app.use((req, res, next) => {
// Some clients omit Origin; allow Referer as fallback. // Some clients omit Origin; allow Referer as fallback.
if ((origin && ok(origin)) || (!origin && referer && ok(referer))) return next(); if ((origin && ok(origin)) || (!origin && referer && ok(referer))) return next();
// In non-production MVP/dev environments, be permissive if headers are missing.
// (Notably some browsers/proxies can omit Origin/Referer on same-origin form posts.)
if (!isProd && !origin && !referer) return next();
return res.status(403).send('Blocked (CSRF)'); return res.status(403).send('Blocked (CSRF)');
}); });