Spesso vediamo argomenti di supporto da persone che cercano di aggiungere riferimenti JavaScript esterni ai loro temi. Per impostazione predefinita, la Content Security Policy (CSP) blocca questa operazione e l’amministratore deve aggiungere manualmente lo script all’impostazione del sito CSP (o a un’impostazione/modificatore del tema).
Tuttavia, @Johani ha fatto un’ottima proposta su come possiamo migliorarlo.
Invece di chiedere agli sviluppatori di temi di copiare e incollare elementi nell’interfaccia di amministrazione, possiamo farlo automaticamente. Possiamo analizzare tutto l’HTML di un tema, estrarre l’attributo src di eventuali script esterni e aggiungerlo alla CSP.
Dopotutto, i computer sono molto più bravi degli umani nel copiare e incollare in modo ripetitivo!
Ho aperto una PR che implementa questa funzionalità:
Negli ambienti di produzione, vedo anche sorgenti aggiunte nel formato https://CDN_SERVER/theme-javascripts/31657759d037d8c06397e9965a1113169100846e.js..., il che è ridondante, poiché la policy già include https://CDN_SERVER/theme-javascripts nella whitelist. Probabilmente dovresti limitare l’estensione automatica solo alle sorgenti di script esterne?
Grazie @pmusaraj, ho aggiunto alcuni controlli aggiuntivi per assicurarci di non servire URL non validi nel CSP e ho anche escluso gli URL di theme-javascript: