trusty — Website Trust Platform
Website Security

เช็กลิสต์ Content Security Policy (CSP) สำหรับร้านค้าออนไลน์และ E-commerce: ต้องตรวจอะไรบ้างก่อนเปิดใช้งาน

รายการตรวจก่อนเปิดใช้ CSP บนร้านค้าออนไลน์ เพื่อไม่ให้หน้าชำระเงินหรือแท็กการตลาดพังหลังบังคับใช้จริง

📅 เผยแพร่ 10 สิงหาคม 2569อัปเดตล่าสุด 10 สิงหาคม 2569✍️ เขียนโดย trusty Editorial Team⏱ อ่าน 6 นาที
A top-down view of a shopping cart, list, card, and bag on a green background.
ภาพโดย Nataliya Vaitkevich จาก Pexels

💬 สรุปสั้น ๆ

ก่อนเปิดใช้ CSP บนร้านค้าออนไลน์จริง ต้องตรวจว่าครอบคลุมโดเมนของ Payment Gateway, GTM, Meta Pixel และ Google Ads ครบ ผ่านการทดสอบ Report-Only เต็มรอบธุรกรรม และมีผู้รับผิดชอบติดตาม Violation Report ก่อนเปลี่ยนเป็นบังคับใช้จริง

ก่อนกดเปิดใช้ CSP แบบบังคับใช้จริงบนร้านค้าออนไลน์ มีจุดตรวจที่พลาดไม่ได้อยู่ไม่กี่จุด แต่ถ้าข้ามไปแม้เพียงจุดเดียวก็อาจทำให้ปุ่มชำระเงินใช้ไม่ได้ หรือ Conversion ของแคมเปญโฆษณาหายไปทั้งวันโดยไม่มีใครรู้ตัว เช็กลิสต์นี้เรียงตามลำดับที่ทีม E-commerce และ Performance Marketing ควรตรวจก่อนเปิดใช้งานจริงแต่ละครั้ง

ใช้เช็กลิสต์นี้ทั้งตอนตั้งค่าครั้งแรกและทุกครั้งที่มีการเปลี่ยนแปลงใหญ่ เช่น เปลี่ยนผู้ให้บริการชำระเงิน เพิ่มแพลตฟอร์มโฆษณาใหม่ หรือเปลี่ยนธีมหน้าร้าน เพราะเหตุการณ์เหล่านี้มักมาพร้อมโดเมนใหม่ที่ Policy เดิมยังไม่รู้จัก

เช็กจุดที่ 1: รายการปลายทางที่ต้อง Allow-list ครบหรือยัง

ตรวจว่ารายการโดเมนที่ Payment Gateway ใช้ทั้งสำหรับโหลด SDK, ฝัง iframe หน้ากรอกบัตร และเรียก API ระหว่างขั้นตอนชำระเงิน อยู่ใน Policy ครบทุกจุดหรือไม่ ผู้ให้บริการชำระเงินหลายรายใช้โดเมนแยกกันระหว่างสคริปต์กับ iframe จึงต้องตรวจทั้งสองส่วนแยกกัน

ตรวจโดเมนของ Google Tag Manager, Meta Pixel และ Google Ads ว่าครอบคลุมทั้งส่วนที่โหลดสคริปต์และส่วนที่ส่ง Event กลับไป เพราะสองส่วนนี้มักอยู่คนละ Directive กัน หากอนุญาตแค่ script-src แต่ลืม connect-src การยิง Event ยังล้มเหลวได้แม้สคริปต์จะโหลดสำเร็จ

ตรวจโดเมนของวิดเจ็ตอื่นที่มีผลต่อการตัดสินใจซื้อ เช่น วิดเจ็ตรีวิวสินค้า แชทสด และตัวช่วยแนะนำสินค้า เพราะแม้ไม่เกี่ยวกับการชำระเงินโดยตรง แต่ถ้าใช้งานไม่ได้ก็กระทบอัตราการปิดการขายเช่นกัน

เช็กจุดที่ 2: การตั้งค่า Directive สำคัญที่ร้านค้าออนไลน์มักตกหล่น

script-src ต้องตรวจว่าครอบคลุมสคริปต์ที่ GTM ฉีดแบบ Custom HTML และหลีกเลี่ยงการเปิด unsafe-inline แบบกว้างทั้งเว็บโดยไม่จำเป็น เพราะเท่ากับลดประโยชน์ของ CSP ไปมาก

frame-src หรือ child-src ต้องครอบคลุม iframe ของ Payment Gateway และปุ่มกระเป๋าเงินดิจิทัลที่ฝังผ่าน iframe เช่นกัน จุดนี้เป็นจุดที่ทำให้หน้าชำระเงินเงียบไปเงียบๆ บ่อยที่สุดถ้าตกหล่น

connect-src ต้องครอบคลุมปลายทางที่ Pixel และ Analytics ยิง Event ไป รวมถึง Endpoint ของ Payment Gateway ที่เรียกระหว่างขั้นตอนชำระเงิน และ form-action ต้องจำกัดปลายทางที่ฟอร์มหน้าชำระเงินส่งข้อมูลไปได้อย่างชัดเจน ไม่เปิดกว้างเกินจำเป็น

เช็กจุดที่ 3: การทดสอบ Conversion Tracking ก่อนและหลังเปิดใช้งาน

ก่อนเปิดใช้ ให้บันทึกค่า Conversion ปกติของแต่ละแพลตฟอร์มไว้เป็นฐาน แล้วเปิดใช้ CSP แบบ Report-Only ครอบคลุมช่วงเวลาที่มีธุรกรรมจริงอย่างน้อยหนึ่งรอบเต็ม เพื่อเทียบตัวเลขก่อนและหลัง

ระหว่างทดสอบให้เปิดเครื่องมือ Debug ของแพลตฟอร์มโฆษณาที่ใช้อยู่ควบคู่กันไป เพื่อยืนยันว่า Event การซื้อ การเพิ่มสินค้าลงตะกร้า และการเริ่ม Checkout ยังถูกส่งได้ครบ ไม่ใช่แค่ดูว่าหน้าเว็บโหลดได้ตามปกติ

เช็กจุดที่ 4: สัญญาณเตือนว่า CSP กำลังบล็อกการขายอยู่

เปิด Console ของเบราว์เซอร์ในหน้าชำระเงินและมองหาข้อความปฏิเสธการโหลดตาม Directive ถ้าพบข้อความลักษณะนี้ในหน้า Checkout ให้ถือเป็นสัญญาณเร่งด่วนที่ต้องแก้ก่อนเปิดใช้แบบบังคับจริง

สัญญาณอีกชุดหนึ่งคือยอดขายหรือ Conversion ลดลงผิดปกติทันทีหลังเปลี่ยนเป็น Enforce Mode โดยไม่มีเหตุผลด้านการตลาดรองรับ กรณีนี้ควรกลับไปตรวจ Console และ Violation Report ทันทีก่อนสรุปสาเหตุอื่น

เช็กจุดที่ 5: การสื่อสารกับทีมที่เกี่ยวข้องก่อนและหลังเปิดใช้งาน

ตรวจว่าทีมพัฒนาและทีมการตลาดรับทราบวันเวลาที่จะเปลี่ยนจาก Report-Only เป็น Enforce Mode ตรงกัน เพราะถ้าทีมการตลาดเผลอเปิดแคมเปญใหม่หรือเพิ่มแท็กในช่วงเวลาเดียวกันโดยไม่รู้ว่า Policy กำลังเปลี่ยน จะแยกสาเหตุของปัญหาได้ยากขึ้นมาก

ตรวจว่ามีช่องทางแจ้งเหตุฉุกเฉินที่ทีมการตลาดใช้แจ้งทีมพัฒนาได้ทันทีเมื่อสังเกตเห็น Conversion ผิดปกติ และมีขั้นตอนย้อนกลับไปใช้ Report-Only ชั่วคราวได้เร็ว หากพบว่า Directive ที่ตั้งไว้ยังไม่ครอบคลุมพอในสถานการณ์จริง

ตรวจว่ารายชื่อโดเมนที่อนุญาตไว้ใน Policy ถูกบันทึกเป็นเอกสารที่ทั้งสองทีมเข้าถึงได้ ไม่ใช่ความรู้ที่อยู่ในหัวของนักพัฒนาคนเดียว เพื่อให้เมื่อมีการเปลี่ยนคนดูแลหรือเปลี่ยนผู้ให้บริการ ทีมใหม่ยังตามรอยการตัดสินใจเดิมได้

พร้อมตรวจสอบความน่าเชื่อถือของเว็บไซต์คุณหรือยัง?

ทดลองใช้งาน trusty ฟรี ไม่ต้องใช้บัตรเครดิต เริ่มสแกนได้ทันที

ทดลองใช้งานระบบฟรี

คำถามที่พบบ่อย

เช็กลิสต์นี้ใช้ได้กับร้านที่ใช้ Payment Gateway มากกว่าหนึ่งรายหรือไม่

ใช้ได้ แต่ต้องทำเช็กจุดที่ 1 และ 2 แยกกันสำหรับ Payment Gateway แต่ละราย เพราะแต่ละรายมักใช้โดเมนของ SDK, iframe และ API คนละชุด การตรวจรวมกันเป็นก้อนเดียวมักทำให้พลาดโดเมนของบางรายไป

ถ้าไม่มีเวลาทำ Report-Only เต็มรอบธุรกรรม ควรทำอย่างไร

ควรทดสอบด้วยมืออย่างน้อยครบทุกช่องทางชำระเงินและอุปกรณ์หลักที่ลูกค้าใช้จริงก่อน แล้วเปิด Report-Only คู่ขนานไปกับการใช้งานจริงในช่วงแรกแทนการข้ามขั้นตอนนี้ไปเลย

เช็กลิสต์นี้ครอบคลุมความปลอดภัยของร้านค้าออนไลน์ทั้งหมดหรือไม่

ไม่ครอบคลุมทั้งหมด เช็กลิสต์นี้เน้นเฉพาะการเปิดใช้ CSP โดยไม่ให้กระทบ Checkout และ Conversion Tracking เท่านั้น ส่วนความปลอดภัยด้านอื่น เช่น การยืนยันตัวตนหรือการตั้งค่าเซิร์ฟเวอร์ ต้องตรวจแยกต่างหาก

เช็กลิสต์ปฏิบัติ

  • ตรวจว่าโดเมนของ Payment Gateway ทั้ง SDK, iframe และ API ถูก Allow-list ครบทุกจุด
  • ตรวจว่า script-src และ connect-src ครอบคลุมทั้งฝั่งโหลดสคริปต์และฝั่งส่ง Event ของ GTM, Meta Pixel และ Google Ads
  • ตรวจว่า frame-src หรือ child-src อนุญาต iframe ของ Payment Gateway และปุ่มกระเป๋าเงินดิจิทัล
  • บันทึกค่า Conversion ฐานก่อนเปิดใช้ แล้วเทียบกับตัวเลขหลังเปิดใช้ Report-Only
  • ทดสอบ Checkout ทุกช่องทางชำระเงินและอุปกรณ์หลักด้วยมือก่อนเปลี่ยนเป็น Enforce Mode
  • เปิด Console ตรวจหาข้อความปฏิเสธการโหลดในหน้าชำระเงินก่อนบังคับใช้จริง
  • กำหนดผู้รับผิดชอบติดตาม Violation Report และ Conversion หลังเปิดใช้งานอย่างน้อยหนึ่งสัปดาห์แรก
  • แจ้งวันเวลาเปลี่ยนจาก Report-Only เป็น Enforce Mode ให้ทีมการตลาดรับทราบล่วงหน้า และบันทึกรายชื่อโดเมนที่อนุญาตไว้เป็นเอกสารกลาง

ข้อผิดพลาดที่พบบ่อย

  • ตรวจ Allow-list ของ Payment Gateway เพียงรายเดียวทั้งที่ร้านเปิดให้เลือกชำระเงินได้หลายช่องทาง
  • อนุญาต script-src แต่ลืมตรวจ connect-src ทำให้สคริปต์โหลดได้แต่ Event ยิงไม่ออก
  • ข้าม Report-Only ไปเปิด Enforce Mode ทันทีเพราะรีบเปิดตัวแคมเปญ
  • ทดสอบเฉพาะบนเดสก์ท็อปทั้งที่ยอดขายส่วนใหญ่มาจากมือถือ
  • ไม่มีใครติดตาม Violation Report หลังเปิดใช้งานจริง จนกว่าจะมีคนมาแจ้งว่ายอดขายตก

สรุป

เช็กลิสต์นี้ไม่ได้แทนการออกแบบ CSP ทั้งระบบ แต่เป็นด่านสุดท้ายก่อนเปิดใช้งานจริง เพื่อยืนยันว่าโดเมนของ Payment Gateway, GTM, Meta Pixel และ Google Ads ถูกครอบคลุมครบ ผ่านการทดสอบ Conversion จริง และมีคนติดตามหลังเปิดใช้งาน การข้ามขั้นตอนใดขั้นตอนหนึ่งมักเป็นสาเหตุที่ทำให้ยอดขายลดลงแบบหาสาเหตุไม่เจอ

แหล่งข้อมูลอ้างอิง

ดูขั้นตอนแบบละเอียดที่ วิธีวางระบบ Content Security Policy สำหรับร้านค้าออนไลน์ หรือ วิธี Audit Content Security Policy พร้อม Evidence และ ศูนย์ความรู้ด้าน Website Security

คำถามที่พบบ่อย

เช็กลิสต์นี้ใช้ได้กับร้านที่ใช้ Payment Gateway มากกว่าหนึ่งรายหรือไม่

ใช้ได้ แต่ต้องทำเช็กจุดที่ 1 และ 2 แยกกันสำหรับ Payment Gateway แต่ละราย เพราะแต่ละรายมักใช้โดเมนของ SDK, iframe และ API คนละชุด การตรวจรวมกันเป็นก้อนเดียวมักทำให้พลาดโดเมนของบางรายไป

ถ้าไม่มีเวลาทำ Report-Only เต็มรอบธุรกรรม ควรทำอย่างไร

ควรทดสอบด้วยมืออย่างน้อยครบทุกช่องทางชำระเงินและอุปกรณ์หลักที่ลูกค้าใช้จริงก่อน แล้วเปิด Report-Only คู่ขนานไปกับการใช้งานจริงในช่วงแรกแทนการข้ามขั้นตอนนี้ไปเลย

เช็กลิสต์นี้ครอบคลุมความปลอดภัยของร้านค้าออนไลน์ทั้งหมดหรือไม่

ไม่ครอบคลุมทั้งหมด เช็กลิสต์นี้เน้นเฉพาะการเปิดใช้ CSP โดยไม่ให้กระทบ Checkout และ Conversion Tracking เท่านั้น ส่วนความปลอดภัยด้านอื่น เช่น การยืนยันตัวตนหรือการตั้งค่าเซิร์ฟเวอร์ ต้องตรวจแยกต่างหาก

เนื้อหานี้จัดทำขึ้นเพื่อให้ข้อมูลทั่วไปเท่านั้น ไม่ถือเป็นคำแนะนำทางกฎหมาย กรุณาปรึกษาผู้เชี่ยวชาญด้านกฎหมายหรือ Data Protection Officer ของหน่วยงานท่านก่อนนำไปปฏิบัติจริง

พร้อมตรวจสอบความน่าเชื่อถือของเว็บไซต์คุณหรือยัง?

ทดลองใช้งาน trusty ฟรี ไม่ต้องใช้บัตรเครดิต เริ่มสแกนได้ทันที