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, si consiglia agli sviluppatori di utilizzare questo esempio come riferimento, perfezionandolo fino a quando non si verificano ulteriori violazioni del CSP.
Scopri di più sui criteri di sicurezza del contenuto.
CSP rigoroso
Ti consigliamo di utilizzare un CSP molto rigoroso rispetto a quello nella lista consentita per ridurre la possibilità di attacchi alla sicurezza.
L'API Maps JavaScript supporta l'utilizzo di CSP restrittivo basato nonce.
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 applicherà il proprio valore 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:
Esempio di criterio 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>
CSP nella lista consentita
Se hai configurato un criterio 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 delle novità e includere eventuali nuovi domini di servizio nella lista consentita, se necessario.
Anche i siti web che caricano l'API Maps JavaScript da un dominio
delle API di Google legacy (ad esempio maps.google.com
) o di una regione specifica
(ad esempio maps.google.fr
) devono includere 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:;