Chính sách bảo mật nội dung (CSP) là một tiêu chuẩn bảo mật web được hỗ trợ rộng rãi nhằm ngăn chặn một số loại tấn công dựa trên việc chèn bằng cách cho phép nhà phát triển kiểm soát các tài nguyên mà ứng dụng của họ tải. Hãy tham khảo hướng dẫn này để tìm hiểu cách triển khai Trình quản lý thẻ của Google trên những trang web sử dụng CSP.
Cho phép thẻ vùng chứa sử dụng CSP
Để sử dụng Trình quản lý thẻ của Google trên một trang có CSP, CSP phải cho phép thực thi mã vùng chứa Trình quản lý thẻ. Mã này được tạo dưới dạng mã JavaScript nội dòng, chèn tập lệnh gtm.js
. Có một số cách để thực hiện việc này, chẳng hạn như sử dụng số chỉ dùng một lần hoặc hàm băm. Phương thức được đề xuất là sử dụng một số chỉ dùng một lần. Đây phải là một giá trị ngẫu nhiên mà không thể đoán được và máy chủ sẽ tạo riêng cho từng phản hồi. Cung cấp giá trị nonce trong chỉ thị script-src
của Chính sách bảo mật nội dung:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com
Sau đó, hãy sử dụng phiên bản nhận biết số chỉ dùng một lần của mã vùng chứa Trình quản lý thẻ nội tuyến. Đặt thuộc tính nonce trên phần tử tập lệnh nội tuyến thành cùng một giá trị này:
<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Sau đó, Trình quản lý thẻ sẽ truyền số chỉ dùng một lần đến mọi tập lệnh mà trình quản lý này thêm vào trang.
Có những phương pháp khác để cho phép thực thi một tập lệnh nội tuyến, chẳng hạn như cung cấp hàm băm của tập lệnh nội tuyến trong CSP.
Nếu không thể sử dụng các phương pháp băm hoặc số chỉ dùng một lần được đề xuất, bạn có thể bật tập lệnh nội tuyến của Trình quản lý thẻ bằng cách thêm chỉ thị 'unsafe-inline'
vào mục script-src
của CSP.
Bạn cần có các chỉ thị sau trong CSP để sử dụng phương pháp này:
Chỉ thị | Nội dung |
---|---|
script-src | 'unsafe-inline' https://www.googletagmanager.com |
img-src | www.googletagmanager.com |
connect-src | www.googletagmanager.com www.google.com |
Biến JavaScript tuỳ chỉnh
Do cách triển khai biến JavaScript tuỳ chỉnh, các biến này sẽ đánh giá thành undefined
khi có CSP, trừ phi chỉ thị 'unsafe-eval'
được đưa ra trong phần script-src
của CSP.
Chỉ thị | Nội dung |
---|---|
script-src | "unsafe-eval" |
Chế độ xem trước
Để sử dụng Chế độ xem trước của Trình quản lý thẻ của Google, CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://googletagmanager.com https://tagmanager.google.com |
style-src | https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com |
img-src | https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com |
font-src | https://fonts.gstatic.com data: |
Google Analytics 4 (Google Analytics)
Để sử dụng thẻ Google Analytics 4 (Google Analytics), CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://*.googletagmanager.com |
img-src | https://*.google-analytics.com https://*.googletagmanager.com |
connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com |
Đối với các hoạt động triển khai Google Analytics 4 (Google Analytics) sử dụng Google Signals, CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://*.googletagmanager.com |
img-src | https://*.google-analytics.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> |
connect-src | https://*.google-analytics.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> https://pagead2.googlesyndication.com |
frame-src | https://www.googletagmanager.com |
Google Ads
Để sử dụng thẻ Chuyển đổi, Tái tiếp thị hoặc Trình liên kết chuyển đổi của Google Ads, CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net |
img-src | https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com https://pagead2.googlesyndication.com https://www.googleadservices.com https://google.com https://www.google.<TLD> |
frame-src | https://www.googletagmanager.com |
connect-src | https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD> |
Đèn hiệu Dữ liệu người dùng trên Google Ads
Để sử dụng các báo hiệu dữ liệu người dùng của Google Ads khi chạy trong các bối cảnh an toàn, CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://www.googletagmanager.com |
frame-src | https://www.googletagmanager.com |
connect-src | https://google.com https://www.google.com |
Đèn hiệu dữ liệu người dùng của quảng cáo trên Google không chạy trong các bối cảnh không an toàn, vì vậy, cấu hình CSP không áp dụng trong những trường hợp đó.
Floodlight
Người dùng Floodlight có thể bật CSP bằng các cấu hình sau. Thay thế các giá trị <FLOODLIGHT-CONFIG-ID>
bằng một mã nhận dạng nhà quảng cáo Floodlight cụ thể hoặc *
để cho phép mọi mã nhận dạng nhà quảng cáo:
Đối với tất cả người dùng:
Chỉ thị | Nội dung |
---|---|
img-src | https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com https://www.googletagmanager.com |
frame-src | https://www.googletagmanager.com |
connect-src | https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com https://ad.doubleclick.net |
Đối với các đèn hiệu "tập lệnh tuỳ chỉnh":
Chỉ thị | Nội dung |
---|---|
frame-src | https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net |
Đối với thẻ hình ảnh:
Chỉ thị | Nội dung |
---|---|
img-src | https://ad.doubleclick.net https://ade.googlesyndication.com |
Trình chạy dịch vụ
Để sử dụng Service Worker cho tính năng so khớp nâng cao, đèn hiệu dữ liệu người dùng và lượt chuyển đổi trên Google Ads, CSP phải có các chỉ thị sau:
Chỉ thị | Nội dung |
---|---|
frame-src | https://www.googletagmanager.com |
Khắc phục sự cố bằng tiện ích Tag Assistant
Để khắc phục các vấn đề về Chính sách bảo mật nội dung (CSP), hãy sử dụng Tag Assistant. Tag Assistant sẽ hiển thị danh sách các tài nguyên bị chặn theo Chính sách bảo mật nội dung.
Mở Tag Assistant rồi nhập URL trang web của bạn. Trang web của bạn sẽ mở trong một thẻ mới.
Nếu Chính sách bảo mật nội dung trên trang của bạn đang chặn một tài nguyên, thì vấn đề về CSP sẽ xuất hiện trong mục Vấn đề về trang của Tag Assistant.
Chọn Xem vấn đề bên cạnh vấn đề về CSP để xem danh sách tất cả các tài nguyên bị chặn trên trang của bạn.
Thêm tất cả tài nguyên bị chặn vào Chính sách bảo mật nội dung.