← back to Greenwallcoverings
add: 404-guard middleware blocks .bak/.pre-* requests (defense-in-depth)
7b8c1f0c66edd0e04e66abf89e7ba64ccbe3997e · 2026-05-25 21:07:26 -0700 · Steve
Files touched
Diff
commit 7b8c1f0c66edd0e04e66abf89e7ba64ccbe3997e
Author: Steve <steve@designerwallcoverings.com>
Date: Mon May 25 21:07:26 2026 -0700
add: 404-guard middleware blocks .bak/.pre-* requests (defense-in-depth)
---
server.js | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/server.js b/server.js
index 5aa6613..4350a20 100644
--- a/server.js
+++ b/server.js
@@ -135,6 +135,14 @@ function sortProducts(list, mode) {
}
+// 404-guard: never serve backup/pre-edit snapshots even if one slips into a
+// served directory. Returns plain 404 so the bak file's contents never leak.
+app.use((req, res, next) => {
+ if (/\.(bak|pre-[\w.-]+)(\.[\w-]+)?$|\.bak\.\d+$|\.pre-/.test(req.path)) {
+ return res.status(404).type('text/plain').send('Not found');
+ }
+ next();
+});
// DW fleet middleware: strip `vendor` field + `vendors` facet from all /api/* JSON
// responses + drop ?vendor= query before downstream handlers. Defense-in-depth so
// the customer-facing API surface never leaks vendor names even if a route forgets.
← 45090d9 add: clean-URL routes /history /care /sourcing /trade /vocab
·
back to Greenwallcoverings
·
harden: noopener noreferrer on target=_blank (Facebook link eb10007 →