Changeset 9e27d64 in Klonkt for src/server.js
- Timestamp:
- 06/14/2026 07:31:23 AM (3 months ago)
- Branches:
- main
- Children:
- 6351545
- Parents:
- 32cc601
- File:
-
- 1 edited
-
src/server.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/server.js
r32cc601 r9e27d64 148 148 app.use(loadTheme); 149 149 150 // Lichtgewicht CSRF-defense: weiger cross-origin state-wijzigende requests. 151 // Same-origin forms + HTMX sturen een matchende Origin; ontbreekt Origin dan 152 // laten we door (non-browser clients). sameSite:'lax' op de sessiecookie is de 153 // tweede laag. (Geldt niet voor GET/HEAD/OPTIONS.) 154 app.use((req, res, next) => { 155 if (req.method === 'GET' || req.method === 'HEAD' || req.method === 'OPTIONS') return next(); 156 const origin = req.get('origin'); 157 if (!origin) return next(); // geen Origin -> geen browser-CSRF-vector 158 let originHost; 159 try { originHost = new URL(origin).host; } catch { return res.status(403).send('Ongeldige origin'); } 160 if (originHost !== req.get('host')) return res.status(403).send('Cross-origin request geweigerd'); 161 next(); 162 }); 163 150 164 app.use('/auth', authRoutes); 151 165 app.use('/account', accountRoutes); … … 328 342 console.log(` ✓ Privacy: Self-hosted fonts, no third-party requests`); 329 343 console.log(` ✓ Layout: v9 editorial feel (top nav, profile header)`); 330 console.log(` ✓ Auth: Google login/ logout`);344 console.log(` ✓ Auth: wachtwoord (beheer) + Google (luisteraars) / logout`); 331 345 console.log(` ✓ Posts: create / edit / view / archive`); 332 346 console.log(` ✓ Realtime: WebSocket server ready (Prutter)`);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)