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

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

การกำหนดค่า CSP ทำได้ 2 วิธีมาตรฐาน ดังนี้

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

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

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

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

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

    ทําตามขั้นตอนที่ระบุไว้ในการใช้ CSP ที่เข้มงวดเพื่อตั้งค่าส่วนหัว CSP และใช้ Nonce กับแท็กสคริปต์ทุกแท็กในหน้าเว็บ รวมถึง 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 src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1" async></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 ส่วนหัวจะรายงานการละเมิดแต่ยังคงอนุญาตให้แสดงเนื้อหาดังกล่าวในหน้าเว็บ