Sử dụng Trình quản lý thẻ theo Chính sách bảo mật nội dung

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 mã độc 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ẻ trong trình chứa sử dụng CSP (Chính sách bảo mật nội dung)

Để 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 tuyến, 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, không đoán được mà máy chủ tạo riêng cho từng phản hồi. Cung cấp giá trị số chỉ dùng một lần trong chỉ thị Content-Security-Policy script-src-elem dưới dạng nonce-{SERVER-GENERATED-NONCE} và 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, thì 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-elem của CSP.

CSP phải cho phép những nội dung sau để sử dụng phương pháp này:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com 'unsafe-inline'
img-src https://www.googletagmanager.com
connect-src https://www.googletagmanager.com https://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.

Lệnh 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 cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com https://tagmanager.google.com
style-src https://www.googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://www.googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:

Google Analytics

Để sử dụng Google Analytics, CSP phải cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com
img-src https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com https://*.google.<TLD> https://*.g.doubleclick.net
connect-src https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com https://*.google.<TLD> https://*.g.doubleclick.net https://pagead2.googlesyndication.com
frame-src https://www.googletagmanager.com

Để sử dụng Google Analytics mà không cần bất kỳ tính năng nào của Google Ads, CSP phải cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com
img-src https://www.googletagmanager.com https://*.google-analytics.com
connect-src https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com

Để 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 cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com https://www.googleadservices.com https://www.google.com
img-src https://www.googletagmanager.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com https://www.google.com https://www.google.<TLD>
connect-src https://www.googletagmanager.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com https://www.google.com https://www.google.<TLD> https://ad.doubleclick.net
frame-src https://www.googletagmanager.com

Để sử dụng các beacon dữ liệu người dùng của Google Ads khi chạy trong bối cảnh an toàn, CSP phải cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com
connect-src https://www.google.com
frame-src https://www.googletagmanager.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

Để sử dụng Floodlight, CSP phải cho phép những nội dung sau:

Lệnh Nội dung
img-src https://www.googletagmanager.com https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com https://ad.doubleclick.net
frame-src https://www.googletagmanager.com

Để sử dụng tập lệnh Floodlight tuỳ chỉnh, CSP cũng phải cho phép những nội dung sau (ngoài những nội dung nêu trên):

Lệnh Nội dung
frame-src https://*.fls.doubleclick.net

Merchant Center

Để sử dụng Merchant Center, CSP phải cho phép những nội dung sau:

Lệnh Nội dung
script-src-elem https://www.googletagmanager.com
img-src https://*.merchant-center-analytics.goog
connect-src https://*.merchant-center-analytics.goog

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 cho phép những nội dung sau:

Lệnh 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ính sách bảo mật nội dung của bạn chặn.

  1. Mở Tag Assistant rồi nhập URL của trang web. Trang web của bạn sẽ mở trong một thẻ mới.

  2. 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.

    Ảnh chụp màn hình Tag Assistant cho thấy vấn đề về CSP

  3. 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. Ảnh chụp màn hình Tag Assistant cho thấy thanh trượt vấn đề về CSP

  4. 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.