Guida ai criteri di sicurezza del contenuto

Questo documento fornisce consigli su come configurare il Content Security Policy (CSP) del sito web per l'API Maps JavaScript. Poiché gli utenti finali utilizzano una vasta gamma di tipi e versioni di browser, gli sviluppatori sono invitati a utilizzare questo esempio come riferimento, perfezionandolo fino a quando non si verificano ulteriori violazioni del CSP.

Scopri di più sulle norme sulla sicurezza dei contenuti.

CSP rigoroso

Ti consigliamo di utilizzare il CSP rigoroso al posto del CSP della lista consentita per ridurre la possibilità di attacchi alla sicurezza. L'API Maps JavaScript supporta l'utilizzo di CSP rigorosi basati su nonce. I siti web devono compilare sia gli elementi script sia gli elementi style con un valore nonce. L'API Maps JavaScript troverà internamente il primo elemento di questo tipo e applicherà il relativo valore nonce agli elementi di stile o script inseriti rispettivamente dallo script dell'API.

Esempio

L'esempio riportato di seguito mostra un CSP di esempio, insieme a una pagina HTML in cui è incorporato:

Esempio di criteri di sicurezza del contenuto

script-src 'nonce-{script value}' 'strict-dynamic' https: 'unsafe-eval' blob:;
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com data: blob:;
font-src https://fonts.gstatic.com;
style-src 'nonce-{style value}' https://fonts.googleapis.com;
worker-src blob:;

Pagina HTML di esempio

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css" nonce="{style value}">
    <style nonce="{style value}">...</style>
    ...
  </head>
  <body>
    <div id="map"></div>
    <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async nonce="{script value}"></script>
    <script nonce="{script value}"> function initMap() { ... } </script>
  </body>
</html>

Lista consentita CSP

Se hai configurato la lista consentita CSP, consulta l'elenco dei domini di Google Maps. Ti consigliamo di consultare questo documento e le note di rilascio dell'API Maps JavaScript per rimanere al passo con le novità e, se necessario, di includere eventuali nuovi domini di servizio nella lista consentita.

I siti web che caricano l'API Maps JavaScript da un dominio legacy delle API di Google (ad esempio maps.google.com) o da un dominio specifico per regione (ad esempio maps.google.fr) devono includere anche questi nomi di dominio nell'impostazione script-src del CSP, come mostrato nell'esempio seguente:

script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.googleapis.com https://*.gstatic.com *.google.com https://*.ggpht.com *.googleusercontent.com blob:;
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com  *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com  data: blob:;
font-src https://fonts.gstatic.com;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
worker-src blob:;