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 chèn bằng cách cấp cho nhà phát triển quyề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 các trang web sử dụng CSP.
Bật 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 cùng 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 pháp đề xuất là sử dụng số chỉ dùng một lần. Đây phải là một giá trị ngẫu nhiên, không thể đoán được mà máy chủ tạo riêng cho mỗi phản hồi. Cung cấp giá trị số chỉ dùng một lần 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
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 số chỉ dùng một lần 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à nó thêm vào trang.
Có các phương pháp khác để cho phép thực thi 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 phương pháp số chỉ dùng một lần hoặc băm đượ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 lệnh 'unsafe-inline'
vào phần script-src
của CSP.
Bạn cần có các lệnh 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 |
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 lệnh 'unsafe-eval'
được cung cấp 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 lệnh 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 | Dữ liệu https://fonts.gstatic.com: |
Google Analytics 4 (Google Analytics)
Để sử dụng thẻ Google Analytics 4 (Google Analytics), CSP phải có các lệnh 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 lượt triển khai Google Analytics 4 (Google Analytics) sử dụng Tín hiệu của Google, CSP phải bao gồm các lệnh sau:
Chỉ thị | Nội dung |
---|---|
script-src | https://*.googletagmanager.com |
img-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> |
connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> |
frame-src | https://td.doubleclick.net 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 lệnh 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://google.com https://www.google.com.<TLD> https://pagead2.googlesyndication.com |
frame-src | https://www.googletagmanager.com https://td.doubleclick.net |
connect-src | https://pagead2.googlesyndication.com https://www.googleadservices.com https://www.google.com https://google.com |
Beacon dữ liệu người dùng trên Google Ads
Để sử dụng beacon dữ liệu người dùng của Google Ads khi chạy trong ngữ cảnh bảo mật, CSP phải bao gồm các lệnh 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 |
Beacon dữ liệu người dùng Google Ads không chạy trong các ngữ cảnh không an toàn, vì vậy, bạn không thể áp dụng cấu hình CSP 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://td.doubleclick.net https://www.googletagmanager.com |
connect-src | https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com |
Đối với beacon "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 Trình chạy dịch vụ cho tính năng so khớp nâng cao, beacon dữ liệu người dùng và lượt chuyển đổi Quảng cáo, CSP phải có các lệnh sau:
Chỉ thị | Nội dung |
---|---|
frame-src | https://www.googletagmanager.com |