From 7cdad0cf2dd9ddf2b25fac8f201ce3ec899d3825 Mon Sep 17 00:00:00 2001 From: Markus Busche Date: Thu, 3 Jul 2025 10:23:45 +0200 Subject: [PATCH] Sicherheit: CSP aktiviert, JavaScript ausgelagert, XSS-Schutz und README aktualisiert --- README.md | 12 +- .../{qrious.min.js.Download => qrious.min.js} | 0 index.html | 293 +---------------- main.js | 295 ++++++++++++++++++ 4 files changed, 309 insertions(+), 291 deletions(-) rename assets/{qrious.min.js.Download => qrious.min.js} (100%) create mode 100644 main.js diff --git a/README.md b/README.md index 22c858b..21cdcbd 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Ein einfacher QR-Code-Generator, der vollständig im Browser läuft. Keine Daten - ✅ **WiFi QR-Code Unterstützung mit eigener UI** - ✅ **Dynamische Klartext-Anzeige** - ✅ **Automatische QR-Code-Generierung** +- ✅ **Sicher gegen XSS (Content Security Policy, validierte Eingaben, kein Inline-JS)** ## Docker Setup @@ -122,4 +123,13 @@ Das Smartphone erkennt automatisch, dass es sich um WiFi-Daten handelt und biete ### Intelligente Validierung - WiFi-Passwort ohne SSID wird als Fehler angezeigt -- Leere Eingaben werden entsprechend behandelt \ No newline at end of file +- Leere Eingaben werden entsprechend behandelt + +## Sicherheit & Content Security Policy (CSP) + +Die Anwendung ist gegen XSS-Angriffe abgesichert: + +- Es wird eine strenge Content Security Policy (CSP) verwendet (`script-src 'self'`), die Inline-Skripte blockiert. +- Das gesamte JavaScript ist in die Datei `main.js` ausgelagert und wird als externes Skript eingebunden. +- Alle Benutzereingaben und URL-Parameter werden validiert und gefiltert. +- Es wird kein `innerHTML` verwendet, sondern nur sichere Methoden wie `.textContent` und `.value`. \ No newline at end of file diff --git a/assets/qrious.min.js.Download b/assets/qrious.min.js similarity index 100% rename from assets/qrious.min.js.Download rename to assets/qrious.min.js diff --git a/index.html b/index.html index a8865e5..e6ed70d 100644 --- a/index.html +++ b/index.html @@ -3,9 +3,11 @@ + Just a QR Code - + +