Fix: /sw.js + /manifest.webmanifest wurden von der Zugangs-Schranke blockiert
Live per Browsertest gefunden: Auf /admin/ (das die Haupt-Schranke bewusst umgeht) versucht ein
eigenes Skript, den Service Worker unter /sw.js zu registrieren (für die "Installieren"-Funktion) —
das schlug mit einem echten Browserfehler fehl ("script resource is behind a redirect"), weil
/sw.js und /manifest.webmanifest bisher nicht auf der Liste öffentlich erreichbarer Dateien standen
und deshalb selbst einen 302 auf die Zugangscode-Seite bekamen. Betrifft jeden Aufruf von /admin/
ohne aktive Haupt-Gate-Sitzung (z.B. direkt per Lesezeichen). Beide Dateien enthalten keinerlei
Shop-/Kundendaten (reines Caching-Skript bzw. App-Metadaten), Freigabe also unbedenklich — vor der
Änderung geprüft, dass wirklich nichts Sensibles drin steht.
This commit is contained in:
@@ -67,12 +67,18 @@ const OEFFENTLICHE_SEITEN = new Set([
|
||||
/* Damit diese Seiten nicht nackt/ohne Gestaltung beim Prüfteam ankommen, sind zusätzlich die
|
||||
rein gestalterischen Dateien freigegeben: Stylesheets sowie Logo/Favicons. Bewusst NUR
|
||||
.css aus /_astro/ — die JavaScript-Bündel dort enthalten u.a. Produktdaten und bleiben
|
||||
deshalb weiterhin hinter der Schranke. */
|
||||
deshalb weiterhin hinter der Schranke.
|
||||
/sw.js + /manifest.webmanifest (04.08.2026 ergänzt): enthalten keinerlei Shop-/Kundendaten
|
||||
(Service Worker ist reines Caching-Skript, Manifest nur Name/Icons/Farben), wurden bisher aber
|
||||
von der Schranke blockiert (302 statt der Datei) — dadurch schlug u.a. die Service-Worker-
|
||||
Registrierung auf /admin/ mit einem echten Browserfehler fehl, sobald jemand /admin/ ohne
|
||||
gültige Haupt-Gate-Sitzung aufruft (z.B. direkt per Lesezeichen, ohne vorher die Haupt-Seite
|
||||
besucht/eingeloggt zu haben). */
|
||||
function istOeffentlichErreichbar(pfad) {
|
||||
const ohneSlash = pfad.endsWith("/") && pfad.length > 1 ? pfad.slice(0, -1) : pfad;
|
||||
if (OEFFENTLICHE_SEITEN.has(ohneSlash)) return true;
|
||||
if (pfad.startsWith("/_astro/") && pfad.endsWith(".css")) return true;
|
||||
if (/^\/(logo\.png|favicon\.ico|favicon-\d+x\d+\.png|apple-touch-icon\.png|icon-\d+(-maskable)?\.png)$/.test(pfad)) return true;
|
||||
if (/^\/(logo\.png|favicon\.ico|favicon-\d+x\d+\.png|apple-touch-icon\.png|icon-\d+(-maskable)?\.png|sw\.js|manifest\.webmanifest)$/.test(pfad)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user