← back to Age Theme Slider
server: 404-guard snapshot paths from static root
4d10ff5453cdb47e399ea493c91c356773dc9fe1 · 2026-05-19 17:26:07 -0700 · Steve Abrams
Adds an Express middleware that returns 404 for any request whose
path contains .bak / .bak.* / .pre-* segments — guards against an
accidentally-committed snapshot file leaking source from the static
root. Runs after /api/bands and before express.static so legitimate
asset paths are unaffected.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit 4d10ff5453cdb47e399ea493c91c356773dc9fe1
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue May 19 17:26:07 2026 -0700
server: 404-guard snapshot paths from static root
Adds an Express middleware that returns 404 for any request whose
path contains .bak / .bak.* / .pre-* segments — guards against an
accidentally-committed snapshot file leaking source from the static
root. Runs after /api/bands and before express.static so legitimate
asset paths are unaffected.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
server.js | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/server.js b/server.js
index 2f6d56a..15c7cdb 100644
--- a/server.js
+++ b/server.js
@@ -35,6 +35,15 @@ app.get('/api/bands', (_req, res) => {
catch (e) { res.status(500).json({ error: String(e.message || e) }); }
});
+// Snapshot-file 404 guard — never serve .bak / .bak.* / .pre-* paths from
+// the static root, even if one slips into public/ by accident.
+app.use((req, res, next) => {
+ if (/\.(bak|pre-)/i.test(req.path) || /(^|\/)\.pre-/i.test(req.path)) {
+ return res.status(404).type('text/plain').send('Not Found');
+ }
+ next();
+});
+
app.use(express.static(path.join(__dirname, 'public'), { extensions: ['html'] }));
app.get('/health', (_req, res) => res.json({ ok: true, port: PORT, bands_version: loadBands().version }));
← 2412cac gitignore: cover .bak / .pre-* snapshot artifacts
·
back to Age Theme Slider
·
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw 6b33987 →