Zum Hauptinhalt springen

Content Security Policy (CSP) und Custom Scripts

Die Content Security Policy (CSP) ist ein Web-Sicherheitsstandard, der steuert, welche Skripte, Stylesheets und andere Ressourcen eine Seite laden oder ausführen darf. Eine strikte CSP ist der wirksamste Schutz gegen Cross-Site Scripting (XSS).

Wie CSP Custom Scripts in TheFlex beeinflusst

TheFlex injiziert Custom Scripts auf Seitenebene in die WebView. Wenn die geladene Webanwendung eine CSP definiert, blockiert der Browser das injizierte Skript, sofern die Richtlinie es nicht explizit erlaubt.

Der mindestens erforderliche Eintrag, um die Cordova-Bridge von TheFlex zu erlauben:

script-src https://localhost/cordova.js

Das reicht aus, um alle Cordova-Plugins (NFC, Barcode-Scan usw.) in TheFlex zu aktivieren.

tip

Nur das eintragen, was wirklich benötigt wird. script-src 'unsafe-inline' oder script-src * deaktivieren den CSP-Schutz vollständig und öffnen XSS-Angriffsflächen.

Wo wird die CSP gesetzt?

Die CSP wird von der Webanwendung gesetzt (z.B. vom SAP-System), nicht von TheFlex. Je nach Plattform:

FAQ

Warum wird mein Custom Script in TheFlex nicht ausgeführt?

Wahrscheinlich verhindert eine aktive CSP die Ausführung, weil https://localhost/cordova.js nicht eingetragen ist. Die Browser-Konsole (per Remote Debugging erreichbar) zeigt eine CSP-Verletzungsmeldung – dort den fehlenden Eintrag identifizieren und in die Richtlinie aufnehmen.

Ist es sicher, alle Skripte freizuschalten?

Nein. Nur die wirklich notwendigen Quellen erlauben – mindestens https://localhost/cordova.js für TheFlex. Offenere Regeln wie 'unsafe-inline' oder * heben den CSP-Schutz auf und sollten vermieden werden.

Mein Skript funktioniert ohne CSP, schlägt aber nach deren Aktivierung fehl – was prüfen?

Die Browser-Konsole zeigt für jede blockierte Ressource eine Meldung wie:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src ..."

Nur die spezifisch blockierte Quelle zur Richtlinie hinzufügen.


Mehr zur Erstellung und Verwaltung von Custom Scripts im Custom Scripts Artikel.