ใครอ่านไปด้วยอีกบ้าง สคริปต์บุคคลที่สามบนหน้าแบบฟอร์ม
หน้าแบบฟอร์มติดต่อมักโหลดโค้ดจากบริษัทอื่นราวครึ่งโหล บางส่วนเห็นสิ่งที่ผู้เยี่ยมชมพิมพ์ได้ และส่วนใหญ่ไม่มีใครในทีมเคยตรวจทาน
เมื่อมีคนกรอกแบบฟอร์มติดต่อ เขาคาดว่าข้อความจะส่งถึงเจ้าของเว็บไซต์ แต่หลายเว็บไซต์ยังรันสคริปต์จากผู้ให้บริการวิเคราะห์ เครือข่ายโฆษณา ผู้ให้บริการแชต และสิ่งต่าง ๆ ที่ตัวจัดการแท็กสะสมมาตลอดหลายปี สคริปต์แต่ละตัวมีสิทธิเท่ากับโค้ดของเว็บไซต์เอง สามารถอ่านหน้า เฝ้าดูช่องกรอก และส่งข้อมูลไปยังเซิร์ฟเวอร์ของตนได้ ไม่ได้หมายความว่าทุกตัวทำเช่นนั้น แต่บนหน้าที่ผู้เยี่ยมชมกรอกชื่อ อีเมล และบางครั้งรายละเอียดสุขภาพ การเงิน หรือปัญหากฎหมาย ควรรู้ว่าใครอ่านไปด้วย
ผู้ที่มักเกี่ยวข้อง
- เครื่องมือบันทึกเซสชันบันทึกการคลิก การเลื่อน และบ่อยครั้งการกดแป้นพิมพ์ เพื่อเล่นการเข้าชมซ้ำภายหลัง หากไม่ปกปิดช่องข้อมูล อาจรวมสิ่งที่พิมพ์ในแบบฟอร์มด้วย
- พิกเซลโฆษณาและวิเคราะห์รายงานการดูหน้าและคอนเวอร์ชันแก่บุคคลที่สาม ทั้งบนหน้าแบบฟอร์มเองและบ่อยมากบนหน้าขอบคุณ
- วิดเจ็ตแชตโหลดแอปพลิเคชันทั้งชุดจากโดเมนอื่น โดยทั่วไปบนทุกหน้ารวมถึงหน้าที่มีแบบฟอร์ม
- ตัวจัดการแท็กให้ฝ่ายการตลาดเพิ่มสคริปต์ได้โดยไม่ต้องนำโค้ดขึ้นระบบ สะดวก แต่หมายความว่าโค้ดอาจเข้าถึงหน้าแบบฟอร์มโดยไม่มีใครตรวจทาน
- ตัวช่วยเล็ก ๆ เช่น การทดสอบ A/B แผนที่ความร้อน เนื้อหาโซเชียลที่ฝัง ฟอนต์ และแผนที่ ต่างเพิ่มโฮสต์ที่ได้รับอย่างน้อยที่อยู่ IP ของผู้เยี่ยมชมและโดยทั่วไปที่อยู่เว็บไซต์ด้วย สคริปต์ในกลุ่มนี้ยังอ่าน URL เต็มของหน้าได้
การบันทึกเซสชัน: เครื่องบันทึกข้างช่องกรอกข้อมูล
เครื่องมือบันทึกเซสชันส่วนใหญ่มีการตั้งค่าให้ปกปิดช่องกรอกหรือยกเว้นทั้งพื้นที่ และบางตัวปกปิดบางช่องเป็นค่าเริ่มต้น จุดอ่อนอยู่ที่ข้อยกเว้น เช่น ช่องข้อความอิสระที่ค่าเริ่มต้นไม่ครอบคลุม แบบฟอร์มที่สร้างจากคอมโพเนนต์ซึ่งกฎปกปิดไม่รู้จัก หรือการตั้งค่าที่มีคนปิดตอนแก้บั๊กแล้วไม่เปิดกลับ ผลบันทึกที่เก็บกับบุคคลที่สามอาจมีข้อความที่ผู้เยี่ยมชมเขียนถึงเว็บไซต์ทุกประการ ซึ่งเป็นสิ่งที่เขาไม่คาดคิด และนโยบายความเป็นส่วนตัวที่ต้องระบุผู้รับหรือประเภทผู้รับข้อมูลส่วนบุคคลตามมาตรา 13 ของ GDPR อาจไม่ได้กล่าวถึงเลย
พิกเซลและหน้าขอบคุณ
การติดตามคอนเวอร์ชันต้องมีสัญญาณว่าส่งแบบฟอร์มแล้ว และหน้าขอบคุณเป็นจุดชัดเจนที่จะกระตุ้นสัญญาณ พิกเซลส่วนใหญ่ส่งที่อยู่หน้าเต็มไปกับทุกเหตุการณ์ หากแบบฟอร์มส่งผ่าน GET หรือการเปลี่ยนเส้นทางหลังส่งเติมค่า เช่น ?name=…&email=… ลงใน URL ค่าเหล่านั้นจะไปถึงผู้ให้บริการโฆษณาหรือวิเคราะห์โดยตรง พิกเซลบางตัวยังมีคุณสมบัติดึงอีเมลหรือหมายเลขโทรศัพท์จากแบบฟอร์มโดยอัตโนมัติเพื่อเพิ่มความแม่นยำในการจับคู่ หากพิกเซลทำงานก่อนผู้เยี่ยมชมตอบแบนเนอร์คุกกี้ หรือหลังปฏิเสธแล้ว ปัญหานี้ก็ไม่ใช่เพียงปัญหาทางเทคนิคอีกต่อไป
ตัวจัดการแท็ก ความยินยอม และห่วงโซ่อุปทาน
ตัวจัดการแท็กมักเป็นจุดที่เริ่มมองภาพรวมไม่ออก แท็กแคมเปญงานแสดงสินค้าเมื่อสองปีก่อน การทดลองเครื่องมือแผนที่ความร้อน หรือพิกเซลของเครือข่ายที่ไม่มีใครใช้อีกแล้ว ทั้งหมดอาจยังโหลดทุกหน้ารวมถึงแบบฟอร์ม ทริกเกอร์มักตั้งเป็น “ทุกหน้า” และกฎความยินยอมกำหนดแยกทีละแท็ก เพียงแท็กเดียวที่ขาดเงื่อนไขก็พอให้สคริปต์โหลดก่อนผู้เยี่ยมชมยินยอม
ยังมีเรื่องห่วงโซ่อุปทาน เมื่อฝังสคริปต์จากโฮสต์อื่น เท่ากับไว้ใจผู้ที่ควบคุมโฮสต์นั้นทั้งวันนี้และในอนาคต ผู้ให้บริการอาจเปลี่ยนการทำงานของสคริปต์ ถูกขายกิจการ หรือโครงสร้างพื้นฐานการส่งสคริปต์ถูกเจาะ เบราว์เซอร์แยกไม่ออกว่าสคริปต์ใดถูกต้องหรือถูกแก้ไข ดังนั้นโค้ดที่ถูกแทรกบนหน้าแบบฟอร์มจึงอ่านทุกช่องและส่งไปที่ใดก็ได้ เป็นรูปแบบเดียวกับการขโมยข้อมูลบนหน้าชำระเงิน
สิ่งที่ทำได้
- 1ทำรายการ เปิดหน้าแบบฟอร์มแต่ละหน้าและหน้าขอบคุณด้วยเครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์ ตรวจแท็บ Network และระบุโฮสต์ภายนอกทุกราย ทำครั้งหนึ่งโดยยังไม่ยินยอมและอีกครั้งหลังยอมรับแบนเนอร์
- 2เอาสิ่งที่ไม่มีใครต้องการออก แท็กที่ไม่มีเจ้าของและวัตถุประสงค์ชัดเจนควรพิจารณาลบ จำกัดทริกเกอร์ของตัวจัดการแท็กให้มีเพียงแท็กที่จำเป็นต้องทำงานบนหน้าแบบฟอร์ม
- 3ปกปิดข้อมูลในเครื่องมือบันทึกเซสชัน ปกปิดทุกช่อง ไม่ใช่เฉพาะรหัสผ่าน และยกเว้นพื้นที่แบบฟอร์มทั้งหมดหากทำได้ จากนั้นดูผลบันทึกเพื่อดูว่าเก็บอะไรจริง
- 4ส่งคอนเวอร์ชันโดยไม่มีข้อมูลส่วนบุคคล ส่งผ่าน POST ไม่ใส่ค่าจากแบบฟอร์มใน URL เปลี่ยนเส้นทาง และกระตุ้นเหตุการณ์ที่เป็นกลาง เช่น “contact_form_sent” ปิดการเก็บช่องแบบฟอร์มอัตโนมัติในพิกเซล
- 5โหลดหลังความยินยอมเท่านั้น สคริปต์ที่ต้องมีความยินยอมต้องไม่โหลดก่อนผู้เยี่ยมชมยอมรับ และต้องไม่ทำงานต่อหากปฏิเสธ ทดสอบทั้งสองเส้นทาง
- 6ตรึงเวอร์ชันและจำกัดเมื่อทำได้ Subresource Integrity ซึ่งเป็นแฮชบนแท็กสคริปต์ทำให้เบราว์เซอร์ปฏิเสธไฟล์คงที่ที่เปลี่ยนไป แต่ไม่เหมาะกับสคริปต์ที่เปลี่ยนตามการออกแบบ เช่น ตัวจัดการแท็ก Content Security Policy จำกัดว่าโฮสต์ใดรันสคริปต์ได้ เริ่มในโหมด report-only เพื่อดูว่าจะทำให้ส่วนใดเสีย
- 7เฝ้าดูการเปลี่ยนแปลง โฮสต์สคริปต์ใหม่บนหน้าแบบฟอร์มควรมาจากการตัดสินใจโดยตั้งใจ ไม่ใช่เรื่องไม่คาดคิด ตรวจให้แน่ใจว่าจะได้รับการแจ้งเมื่อมีโฮสต์ใหม่
formexposed ตรวจว่าพิกเซลติดตามใดทำงานบนหน้าแบบฟอร์ม เครื่องมือบันทึกเซสชันอาจบันทึกข้อมูลที่กรอกหรือไม่ และการปฏิเสธแบนเนอร์คุกกี้หยุดการติดตามจริงหรือไม่ โดยทำแบบเชิงรับ ไม่ส่งข้อมูลใด ๆ การตรวจฟรีแสดงระดับโดยรวม ส่วนผลการตรวจสอบเหล่านี้อยู่ในรายงานฉบับเต็ม เมื่อใช้การเฝ้าติดตามโดเมนที่ยืนยันแล้ว formexposed ยังแจ้งเตือนเมื่อมีโฮสต์สคริปต์ใหม่บนหน้าแบบฟอร์ม