Questo documento fornisce suggerimenti su come configurare il criterio di sicurezza del contenuto (CSP) del sito web per l'API Maps JavaScript. Poiché gli utenti finali utilizzano un'ampia varietà di tipi e versioni di browser, gli sviluppatori sono invitati a utilizzare questo esempio come riferimento per perfezionare il targeting finché non si verificano ulteriori violazioni del CSP.
Scopri di più sui Criteri di sicurezza del contenuto.
CSP rigoroso
Ti consigliamo di utilizzare un CSP rigoroso rispetto ai CSP nella lista consentita per mitigare la possibilità di attacchi alla sicurezza.
L'API Maps JavaScript supporta l'utilizzo di CSP rigorosi basati su nonce.
I siti web devono completare gli elementi script
e style
con un valore nonce.
Internamente, l'API Maps JavaScript troverà il primo elemento di questo tipo e applicherà il suo valore di nonce agli elementi di stile o script inseriti rispettivamente dallo script dell'API.
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>
CSP lista consentita
Se hai configurato il CSP nella lista consentita, consulta l'elenco di Google Maps Domains. Ti consigliamo di consultare questo documento e le note di rilascio dell'API Maps JavaScript per essere sempre al corrente e includere nella lista consentita eventuali nuovi domini di servizio, se necessario.
Anche i siti web che caricano l'API Maps JavaScript da un dominio API di Google legacy (ad esempio maps.google.com
) o specifico di una regione (ad esempio maps.google.fr
) devono includere questi nomi di dominio nell'impostazione script-src
del CSP, come illustrato 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:;