Problemi durante l'installazione dello script HTML?

Sto riscontrando un problema nell’installazione dello script Pure Chat nel mio forum, poiché Discourse abilita un filtro whitelist per motivi di sicurezza. Ho provato ad aggiungere alcuni link di Pure Chat alla whitelist, ma la scheda della conversazione Pure Chat non appare comunque. Vi chiedo gentilmente assistenza; ecco il messaggio di errore:

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

Qualcuno sa come risolvere questo problema? Se disabilito la CSP, lo script funziona correttamente. Ma come posso abilitare la CSP e far sì che funzioni comunque?

Aggiungi la fonte del tuo script all’impostazione content security policy script src.

Ho aggiunto quei link agli errori quando li ho visti nella scheda console :slight_smile:

ma ancora non funziona correttamente

Stai utilizzando la funzionalità in modo errato: è sufficiente autorizzare il dominio, non ogni singolo URL.

Forse il testo andrebbe migliorato qui @tshenry?

Grazie per l’aiuto, proverò a correggere di nuovo.

Ma il problema persiste: lo script di PureChat non viene visualizzato se attivo il CSP, anche se ho aggiunto 2 nuovi link.

Piena trasparenza: non mi considero un guru di CSP!

Detto questo, penso che ci siano scenari in cui sarebbe ideale whitelistaare il dominio, e altri scenari in cui è meglio prendere di mira gli script individuali. Sono quasi sicuro che dipenda da quanti script scopri di dover whitelistaare, se ti fidi della fonte, ecc. Aggiungerò una nota alla guida che menziona che puoi utilizzare il dominio come soluzione universale se necessario.

Le impostazioni nelle schermate fornite erano decisamente un po’ eccessive, ma immagino che fosse solo un tentativo di coprire tutto, dato che nulla funzionava.

Ho appena provato ad aggiungere Pure Chat al mio sito di prova come esperimento. Sono riuscito a farlo funzionare su Chrome usando un hash, ma non è stato sufficiente per Safari e Firefox. Ne ho parlato con Penar e sembra che questa sia una di quelle sfortunate situazioni che richiederanno 'unsafe-inline', come menzionato in:


@BishopV Penso che la tua unica opzione, se scegli di rimanere con Pure Chat, sia rimuovere tutte le voci che hai in quella impostazione e aggiungere 'unsafe-inline', a costo della sicurezza.

Hai considerato di utilizzare invece Setup HubSpot chat Integration? Sembra funzionare molto bene con la nostra policy CSP.

In ogni caso, il risultato peggiore possibile è che qualcuno codifichi a mano 20 URL univoci dallo stesso dominio…

Grazie per l’aiuto, penso che HubSpot sia la mia soluzione ora. Sono felice di aver scelto Discourse come backend: c’è molto aiuto e supporto qui.