Commit 3356fd2
fix(web): require local host, POST-only reload, security headers
Harden --serve/--web against hostile webpages: /api/reload mutated
state on a plain GET, so any page could fire it cross-origin (CSRF /
cheap DoS -- every hit re-parses the sources); it is POST-only now, GET
answers 405 and the page's refresh button posts. On a loopback bind the
Host header must name localhost/127.0.0.1/[::1] (port optional) or the
request is refused with 403, closing DNS rebinding; an explicit --bind
beyond loopback keeps working and already warns. Every response carries
a deny-everything CSP fitting the self-contained page (inline JS/CSS,
data: favicon, same-origin fetches) plus X-Content-Type-Options.1 parent d1cb604 commit 3356fd2
3 files changed
Lines changed: 84 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
285 | 293 | | |
286 | 294 | | |
287 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
288 | 310 | | |
| 311 | + | |
| 312 | + | |
289 | 313 | | |
290 | 314 | | |
291 | 315 | | |
292 | 316 | | |
293 | 317 | | |
294 | | - | |
295 | | - | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
296 | 321 | | |
297 | 322 | | |
298 | 323 | | |
299 | 324 | | |
300 | 325 | | |
301 | 326 | | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
302 | 338 | | |
303 | 339 | | |
304 | 340 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1083 | 1083 | | |
1084 | 1084 | | |
1085 | 1085 | | |
1086 | | - | |
| 1086 | + | |
1087 | 1087 | | |
1088 | 1088 | | |
1089 | 1089 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8177 | 8177 | | |
8178 | 8178 | | |
8179 | 8179 | | |
| 8180 | + | |
| 8181 | + | |
| 8182 | + | |
| 8183 | + | |
| 8184 | + | |
| 8185 | + | |
| 8186 | + | |
| 8187 | + | |
| 8188 | + | |
| 8189 | + | |
| 8190 | + | |
| 8191 | + | |
| 8192 | + | |
| 8193 | + | |
| 8194 | + | |
| 8195 | + | |
| 8196 | + | |
| 8197 | + | |
| 8198 | + | |
| 8199 | + | |
| 8200 | + | |
| 8201 | + | |
| 8202 | + | |
| 8203 | + | |
| 8204 | + | |
| 8205 | + | |
| 8206 | + | |
| 8207 | + | |
| 8208 | + | |
| 8209 | + | |
| 8210 | + | |
| 8211 | + | |
| 8212 | + | |
| 8213 | + | |
| 8214 | + | |
| 8215 | + | |
| 8216 | + | |
| 8217 | + | |
| 8218 | + | |
| 8219 | + | |
| 8220 | + | |
| 8221 | + | |
| 8222 | + | |
| 8223 | + | |
| 8224 | + | |
8180 | 8225 | | |
8181 | 8226 | | |
8182 | 8227 | | |
| |||
0 commit comments