Bei der Installation eines HTML-Skripts tritt ein Problem auf?

Ich habe ein Problem bei der Installation des Pure Chat-Skripts in meinem Forum, da Discourse einen Whitelist-Filter zur Sicherheitsabsicherung aktiviert hat. Ich habe versucht, einige Pure Chat-Links zur Whitelist hinzuzufügen, aber der Pure Chat-Chat-Tab wird immer noch nicht angezeigt. Bitte helfen Sie mir. Hier ist die Fehlermeldung:

legacy.111147.js:1 Uncaught EvalError: Refused to evaluate a string as JavaScript because ‘unsafe-eval’ is not an allowed source of script in the following Content Security Policy directive:

at new Function (<anonymous>)
at Function.b.template (legacy.111147.js:1)
at Module.<anonymous> (legacy.111147.js:32)
at n (legacy.111147.js:1)
at Object.<anonymous> (legacy.111147.js:32)
at n (legacy.111147.js:1)
at legacy.111147.js:1
at legacy.111147.js:1

Weiß jemand, wie man dieses Problem löst? Wenn ich CSP deaktiviere, funktioniert das Skript einwandfrei. Aber wie kann ich CSP aktivieren und gleichzeitig sicherstellen, dass es funktioniert?

Fügen Sie Ihre Skriptquelle in die Einstellung content security policy script src ein.

Ich habe diese Fehlerlinks hinzugefügt, als ich sie im Konsolen-Tab gesehen habe :slight_smile:

Aber es funktioniert immer noch nicht richtig.

Du verwendest die Funktion falsch. Du musst nur die Domain und nicht jede einzelne URL einzeln freigeben.

Vielleicht muss der Text hier noch verbessert werden, @tshenry?

Vielen Dank für die Hilfe. Ich werde es noch einmal versuchen.

Aber das Problem besteht weiterhin: Das PureChat-Skript wird nicht angezeigt, wenn ich die CSP aktiviere, obwohl ich zwei neue Links hinzugefügt habe.

Volle Offenlegung – ich betrachte mich nicht als CSP-Experte!

Trotzdem glaube ich, dass es Szenarien gibt, in denen es ideal wäre, die Domain freizugeben, und andere Szenarien, in denen es besser ist, die einzelnen Skripte gezielt zu adressieren. Ich bin mir ziemlich sicher, dass dies davon abhängt, wie viele Skripte Sie freizugeben benötigen, ob Sie der Quelle vertrauen usw. Ich werde einen Hinweis in die Anleitung aufnehmen, der erwähnt, dass Sie bei Bedarf die Domain als All-in-One-Lösung verwenden können.

Die Einstellungen in den bereitgestellten Screenshots waren definitiv etwas übertrieben, aber ich stelle mir das als einen Versuch vor, alles abzudecken, da nichts funktionierte.

Ich habe gerade Pure Chat als Experiment auf meiner Testseite hinzugefügt. Ich konnte es in Chrome mit einem Hash zum Laufen bringen, aber das reichte für Safari und Firefox nicht aus. Ich habe es mit Penar besprochen, und dies scheint einer dieser unglücklichen Fälle zu sein, die 'unsafe-inline' erfordern, wie in folgendem Abschnitt erwähnt:


@BishopV Ich denke, Ihre einzige Option, wenn Sie bei Pure Chat bleiben möchten, besteht darin, alle Einträge in dieser Einstellung zu entfernen und 'unsafe-inline' auf Kosten der Sicherheit hinzuzufügen.

Haben Sie bereits Setup HubSpot chat Integration in Betracht gezogen? Das scheint sich sehr gut mit unserer CSP-Richtlinie zu vertragen.

Unabhängig davon ist das schlimmstmögliche Ergebnis, wenn jemand 20 eindeutige URLs derselben Domain hardcodiert…

Danke für die Unterstützung! Ich denke, HubSpot ist jetzt meine Lösung. Ich bin froh, dass ich Discourse als Backend gewählt habe – hier gibt es viel Hilfe und Unterstützung.