Categoria: Sviluppo

Generatore CSP

Idea internaManca uno strumento?

Costruisci un header Content-Security-Policy dalle direttive

Imposta l'elenco delle sorgenti per ogni direttiva Content-Security-Policy — default-src, script-src, style-src e altre — e ottieni il valore finale dell'header oltre a una tabella leggibile di ciò che ogni direttiva consente. Costruito localmente nel tuo browser.

DirettivaSorgenti
default-src'self'
script-src'self'
style-src'self' 'unsafe-inline'
img-src'self' data:
font-src'self'
connect-src'self'
frame-ancestors'none'
object-src'none'
base-uri'self'
form-action'self'
upgrade-insecure-requests
Header Content-Security-Policy
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;

Tutto ciò che c'è in questa pagina viene elaborato nel tuo browser. Niente viene caricato.

A cosa serve

Un header Content-Security-Policy dice al browser quali sorgenti di script, stili, immagini e altre risorse una pagina può caricare, ed è una delle difese più efficaci contro il cross-site scripting. Ogni direttiva accetta un elenco di sorgenti separate da spazi, come 'self', 'unsafe-inline', https: o un dominio specifico, e ottenere la sintassi corretta a mano è complicato. Questo strumento costruisce l'header a partire da un campo per ciascuna direttiva e mostra la stessa policy anche come tabella, così puoi rivedere cosa stai realmente permettendo prima di pubblicarla.

Come si usa

  1. Imposta l'elenco delle sorgenti per ogni direttiva che vuoi limitare.
  2. Attiva upgrade-insecure-requests o block-all-mixed-content se necessario.
  3. Rivedi la tabella delle direttive, poi copia il valore dell'header.
  4. Invialo come header di risposta Content-Security-Policy, oppure inizia con Content-Security-Policy-Report-Only durante i test.

Privacy

Questo strumento funziona interamente nel tuo browser. Quello che inserisci non viene mai caricato, salvato o condiviso: chiudendo la scheda sparisce.

Domande frequenti

Cosa significa una direttiva vuota?
Una direttiva lasciata vuota qui viene omessa del tutto dall'header, il che di solito significa che ricade su default-src. Imposta prima default-src su una base ragionevole come 'self'.
Dovrei prima testare con Report-Only?
Sì — inviare lo stesso valore dell'header come Content-Security-Policy-Report-Only ti permette di vedere cosa la policy avrebbe bloccato, tramite la console del browser o un report-uri, senza rompere la pagina mentre la stai mettendo a punto.
La policy viene inviata da qualche parte per essere costruita?
No. La stringa dell'header viene assemblata a partire dal tuo input direttamente nel browser.