Guida alle norme sulla sicurezza dei contenuti

Questo documento fornisce suggerimenti su come configurare il sito web Criterio di sicurezza del contenuto (CSP) per l'API Maps JavaScript. Dal giorno viene utilizzata un'ampia varietà di tipi e versioni di browser da parte di utenti finali, sono incoraggiati a usare questo esempio come riferimento, perfezionandolo fino a quando Si verificano violazioni dei CSP.

Scopri di più sui Criteri di sicurezza del contenuto.

CSP rigoroso

Consigliamo di usare CSP rigoroso sulla lista consentita di CSP per mitigare la possibilità di attacchi alla sicurezza. L'API Maps JavaScript supporta l'utilizzo di CSP rigoroso nonce-based. I siti web devono completare entrambi gli elementi script e style con un valore nonce. Internamente, l'API Maps JavaScript troverà il primo elemento di questo tipo, e applicare il proprio valore nonce agli elementi di stile o script inseriti dall'API rispettivamente.

Esempio

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

Criterio di sicurezza del contenuto di esempio

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 di CSP

Se hai configurato CSP nella lista consentita, consulta l'elenco dei domini di Google Maps. Ti consigliamo di consultare questo documento e l'API Maps JavaScript note di rilascio per restare aggiornati, e, se necessario, includi qualsiasi nuovo dominio di servizio nella lista consentita.

Siti web che caricano l'API Maps JavaScript da una versione precedente Dominio API di Google (ad esempio maps.google.com) o un dominio specifico per regione (ad esempio maps.google.fr), devono includere anche questi nomi di dominio nei propri Impostazione CSP script-src, 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:;