Introduzione
Per potenziare la sicurezza della piattaforma, è possibile abilitare le intestazioni Content Security Policy (CSP).
La CSP contribuisce a prevenire l’esecuzione di script dannosi, regolamentando le fonti autorizzate a caricare ed eseguire JavaScript all’interno del proprio ambiente.
Questa funzionalità è facoltativa e deve essere attivata manualmente nelle impostazioni. Si consiglia vivamente di abilitarla al fine di migliorare la sicurezza complessiva della piattaforma.
Abilitare le intestazioni CSP
Per abilitare e configurare le intestazioni CSP, procedere come segue:
- Accedere a Menu amministrazione > IMPOSTAZIONI > Configurazione avanzata.
- Nel pannello di navigazione a sinistra, selezionare Opzioni avanzate.
- Scorrere verso il basso fino alla sezione correlata alla sicurezza e individuare Intestazioni CSP.
- Selezionare la casella Blocca le fonti JavaScript esterne, ad eccezione dei siti presenti nella lista consentita.
- Nella sezione Lista delle fonti JavaScript esterne consentite, inserire gli URL dei domini attendibili autorizzati a caricare JavaScript.
- È possibile aggiungere fino a 5 URL.
- Sono supportati i caratteri jolly (ad esempio,
https://*.force.com).
- Cliccare su Salva per applicare le modifiche.
Come funzionano le intestazioni CSP
Script esterni
Gli script caricati da fonti esterne (come CDN) saranno eseguiti esclusivamente se il dominio di provenienza è incluso nella lista consentiti.
Qualsiasi script proveniente da fonti non autorizzate sarà automaticamente bloccato.
Script inline
Gli script inline (JavaScript inserito direttamente nell’HTML) continueranno a funzionare grazie all’utilizzo di un nonce di sicurezza — un token unico e monouso aggiunto automaticamente alla pagina. Ciò garantisce che gli script inline siano considerati affidabili e possano essere eseguiti in modo sicuro.
Nota bene: Se uno script inline carica dinamicamente ulteriori script, tali script devono:
- essere caricati da un dominio presente nella lista consentiti
- ereditare lo stesso nonce di sicurezza (consultare il capitolo Propagare il nonce di sicurezza)
Propagare il nonce di sicurezza
Nel caso in cui uno script inline generi dinamicamente nuovi elementi <script>, sarà necessario aggiornare il codice per propagare il nonce. Di seguito un esempio illustrativo di modifica dello script per supportare tale funzionalità.
Script originale:
const script = document.createElement('script');
script.setAttribute('src','SOME_SCRIPT_URL');
document.querySelector('head').appendChild(script);Script aggiornato con supporto al nonce:
const script = document.createElement('script');
script.setAttribute('src','SOME_SCRIPT_URL');
if (document.currentScript.nonce) {
script.setAttribute('nonce', document.currentScript.nonce);
}
document.querySelector('head').appendChild(script);Tale modifica assicura che lo script caricato dinamicamente sia anch’esso considerato affidabile e autorizzato all’esecuzione in conformità con la configurazione CSP.