Bu dokümanda, Maps JavaScript API için web sitesi İçerik Güvenliği Politikası'nın (CSP) nasıl yapılandırılacağına ilişkin öneriler sunulmaktadır. Son kullanıcılar çok çeşitli tarayıcı türlerini ve sürümlerini kullandığından, geliştiricilerin referans olarak bu örneği kullanmaları önerilir. Geliştiriciler daha fazla İGP ihlali gerçekleşmediği sürece hassas ayarlar yapabilir.
İçerik Güvenliği Politikası hakkında daha fazla bilgi edinin.
Katı CSP
Güvenlik saldırıları olasılığını azaltmak için izin verilenler listesindeki CSP üzerinden katı CSP kullanmanızı öneririz.
Maps JavaScript API, tek seferlik olmayan katı CSP kullanımını destekler.
Web siteleri hem script
hem de style
öğelerini tek bir değerle doldurmalıdır.
Dahili olarak, Maps JavaScript API bu tür ilk öğeyi bulur ve nonce değerini sırasıyla API komut dosyası tarafından eklenen stil veya komut dosyası öğelerine uygular.
Örnek
Aşağıdaki örnekte, yerleştirildiği bir HTML sayfasıyla birlikte örnek bir CSP gösterilmektedir:
Örnek İçerik Güvenliği Politikası
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:;
Örnek HTML sayfası
<!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>
İzin verilenler listesi CSP
İzin verilenler listesi CSP'yi ayarladıysanız lütfen Google Haritalar Alanları listesine bakın. Gelişmelerden haberdar olmak ve gerekirse yeni hizmet alanlarını izin verilenler listesine eklemek için bu belgeyi ve Maps JavaScript API sürüm notlarını incelemenizi öneririz.
Maps JavaScript API'yi eski bir Google API'leri alanından (örneğin, maps.google.com
) veya bölgeye özgü bir alan adından (örneğin, maps.google.fr
) yükleyen web siteleri, aşağıdaki örnekte gösterildiği gibi bu alan adlarını İGP script-src
ayarlarına da dahil etmelidir:
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:;