Tài liệu này đưa ra các đề xuất về cách định cấu hình trang web Chính sách bảo mật nội dung (CSP) dành cho API JavaScript của Maps. Từ có nhiều loại và phiên bản trình duyệt được sử dụng bởi người dùng cuối, nhà phát triển nên sử dụng ví dụ này để tham khảo, tinh chỉnh cho đến khi không có thêm Xảy ra lỗi vi phạm CSP.
Tìm hiểu thêm về Chính sách bảo mật nội dung.
Chính sách quyền riêng tư nghiêm ngặt
Bạn nên dùng CSP nghiêm ngặt
ghi đè CSP trong danh sách cho phép để giảm thiểu khả năng bị tấn công bảo mật.
API JavaScript của Maps hỗ trợ việc sử dụng CSP nghiêm ngặt dựa trên số chỉ dùng một lần.
Các trang web phải điền giá trị số chỉ dùng một lần vào cả hai phần tử script
và style
.
Trong nội bộ, Maps JavaScript API sẽ tìm phần tử đầu tiên như vậy,
và áp dụng giá trị số chỉ dùng một lần cho các phần tử kiểu hoặc tập lệnh do API chèn
tập lệnh tương ứng.
Ví dụ:
Ví dụ sau đây cho thấy một CSP mẫu, cùng với một trang HTML chứa CSP đó đã nhúng:
Ví dụ về chính sách bảo mật nội dung
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:;
Trang HTML mẫu
<!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>
Chính sách quyền riêng tư (CSP) trong danh sách cho phép
Nếu bạn đã thiết lập CSP trong danh sách cho phép, vui lòng tham khảo danh sách Miền Google Maps. Bạn nên tham khảo tài liệu này và API JavaScript của Maps ghi chú phát hành để luôn cập nhật, và thêm miền dịch vụ mới bất kỳ vào danh sách cho phép nếu cần.
Các trang web tải Maps JavaScript API từ một phiên bản cũ
Miền API của Google (ví dụ: maps.google.com
) hoặc một miền theo khu vực cụ thể
(ví dụ: maps.google.fr
), cũng phải đưa các tên miền này vào
Chế độ cài đặt script-src
CSP, như trong ví dụ sau:
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:;