ผสานรวมกับนโยบายความปลอดภัยของเนื้อหา

นโยบายรักษาความปลอดภัยเนื้อหา (CSP) คือวิธีรักษาความปลอดภัยให้หน้าเว็บโดยการจํากัดทรัพยากรและสคริปต์ที่อนุญาตให้โหลดและเรียกใช้ได้ คุณเปิดใช้ CSP ได้โดยตั้งค่าส่วนหัว Content-Security-Policy ในการตอบสนองของ HTTP จากเว็บเซิร์ฟเวอร์

วิธีกําหนดค่า CSP มีอยู่ 2 วิธีด้วยกัน ดังนี้

  1. ระบุโดเมนที่อนุญาตซึ่งสามารถแทรกทรัพยากรในหน้าเว็บได้

  2. ระบุค่าแบบสุ่มซึ่งต้องทําเครื่องหมายทรัพยากรในหน้าเพื่อให้โหลด แนวทางนี้เรียกว่า CSP ที่เข้มงวด

เนื่องจากโดเมนที่แท็กผู้เผยแพร่โฆษณาผ่าน Google (GPT) เปลี่ยนแปลงเมื่อเวลาผ่านไป เราจึงรองรับเพียง CSP ที่เข้มงวด (ตัวเลือกที่ 2) เท่านั้น วิธีนี้ทําให้ไม่จําเป็นต้องคงรายชื่อโดเมนต่อเนื่องที่อาจล้าสมัยและทําให้เว็บไซต์ใช้งานไม่ได้

การตั้งค่า CSP ด้วย GPT

  1. เปิดใช้ CSP ในเว็บเซิร์ฟเวอร์

    ทําตามขั้นตอนที่ระบุไว้ในหัวข้อการใช้ CSP ที่เข้มงวดเพื่อตั้งค่าส่วนหัว CSP และใช้เครื่องหมายที่ไม่ใช่แท็กกับแท็กสคริปต์ทุกๆ รายการในหน้าเว็บ รวมถึง gpt.js GPT รองรับคําสั่ง CSP ต่อไปนี้โดยเฉพาะ

    Content-Security-Policy:
      object-src 'none';
      script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
      base-uri 'none';
      report-uri https://your-report-collector.example.com/
    

    คุณสามารถเลือกนโยบายที่มีสิทธิ์มากกว่านี้ได้หากเป็นไปตามกรณีการใช้งานของคุณ นโยบายที่เข้มงวดขึ้นอาจใช้งานไม่ได้โดยไม่ต้องแจ้งให้ทราบ

  2. เปิดใช้การแสดงผลข้ามโดเมน

    iframe โฆษณาโหลดทรัพยากรภายนอกที่ CSP อาจไม่อนุญาตได้ เนื่องจาก iframe ของโดเมนเดียวกันรับค่า CSP ของหน้าต่างระดับบนสุดมาและ GPT ควบคุมเนื้อหาของครีเอทีฟโฆษณาไม่ได้ ครีเอทีฟโฆษณาในโดเมนเดียวกันจึงทํางานได้ไม่ถูกต้องกับส่วนหัว CSP

    หากต้องการเปิดใช้การแสดงผลแบบข้ามโดเมนสําหรับครีเอทีฟโฆษณาทั้งหมด ให้เรียกใช้ googletag.pubads().setForceSafeFrame(true) ก่อนที่จะโหลดช่องโฆษณา

    <!doctype html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Hello GPT</title>
        <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1"></script>
        <script nonce="KC7tcz53FHqumKP1">
          window.googletag = window.googletag || {cmd: []};
          googletag.cmd.push(function() {
            googletag.pubads().setForceSafeFrame(true);
          });
        </script>
      </head>
    

การทดสอบ

เราขอแนะนําให้ทดสอบนโยบายก่อนโดยการตั้งค่าส่วนหัว Content-Security-Policy-Report-Only แทน Content-Security-Policy ส่วนหัวจะรายงานการละเมิดแต่ยังคงอนุญาตการละเมิดในหน้าเว็บ