X-XSS-Protection เป็นส่วนหัวด้านความปลอดภัยที่มีมาตั้งแต่เวอร์ชัน 4 ของ Google Chrome ได้รับการออกแบบมาเพื่อเปิดใช้งานเครื่องมือที่ตรวจสอบเนื้อหาของเว็บไซต์สำหรับการเขียนสคริปต์ข้ามไซต์ที่สะท้อนให้เห็น เบราว์เซอร์หลักทั้งหมดได้ยกเลิกการสนับสนุนส่วนหัวแล้วเนื่องจากมีการแนะนำข้อบกพร่องด้านความปลอดภัย ขอแนะนำเป็นอย่างยิ่งว่าอย่าตั้งค่าส่วนหัวเลย แต่ให้กำหนดค่านโยบายการรักษาความปลอดภัยของเนื้อหาที่เข้มงวดแทน
เคล็ดลับ: โดยทั่วไปแล้ว Cross-Site Scripting จะย่อให้สั้นลงเป็นอักษรย่อ “XSS”
สคริปต์ข้ามไซต์ที่สะท้อนให้เห็นเป็นคลาสของช่องโหว่ XSS ที่การเจาะระบบถูกเข้ารหัสโดยตรงใน URL และมีผลกับผู้ใช้ที่เข้าชม URL เท่านั้น XSS ที่สะท้อนออกมาเป็นความเสี่ยงเมื่อหน้าเว็บแสดงข้อมูลจาก URL ตัวอย่างเช่น หากร้านค้าบนเว็บอนุญาตให้คุณค้นหาผลิตภัณฑ์ ร้านค้าอาจมี URL ที่มีลักษณะเช่นนี้ “website.com/search? term=gift” และใส่คำว่า “gift” ไว้บนหน้า ปัญหาเริ่มต้นขึ้นหากมีผู้ใส่ JavaScript ใน URL หากไม่ได้รับการฆ่าเชื้ออย่างเหมาะสม JavaScript นี้สามารถดำเนินการได้แทนที่จะพิมพ์ไปที่หน้าจอตามที่ควรจะเป็น หากผู้โจมตีสามารถหลอกให้ผู้ใช้คลิกลิงก์ที่มีเพย์โหลด XSS ประเภทนี้ พวกเขาอาจทำสิ่งต่างๆ เช่น เข้าควบคุมเซสชันของตนได้
X-XSS-Protection มีวัตถุประสงค์เพื่อตรวจจับและป้องกันการโจมตีประเภทนี้ น่าเสียดาย เมื่อเวลาผ่านไป มีการพบการเลี่ยงผ่านและแม้แต่ช่องโหว่จำนวนมากในวิธีการทำงานของระบบ ช่องโหว่เหล่านี้หมายความว่าการนำส่วนหัว X-XSS-Protection ไปใช้จะทำให้เกิดช่องโหว่ในการเขียนสคริปต์ข้ามไซต์ในเว็บไซต์ที่มีความปลอดภัย
เพื่อป้องกันสิ่งนี้ด้วยความเข้าใจว่าส่วนหัวนโยบายการรักษาความปลอดภัยของเนื้อหาโดยทั่วไป ย่อให้เหลือ “CSP” รวมถึงฟังก์ชันเพื่อแทนที่ นักพัฒนาเบราว์เซอร์จึงตัดสินใจเลิกใช้ ลักษณะเฉพาะ. เบราว์เซอร์ส่วนใหญ่ รวมทั้ง Chrome, Opera และ Edge ได้ยกเลิกการสนับสนุนหรือในกรณีของ Firefox ไม่เคยใช้งาน ขอแนะนำให้เว็บไซต์ปิดการใช้งานส่วนหัว เพื่อปกป้องผู้ใช้เหล่านั้นที่ยังคงใช้เบราว์เซอร์รุ่นเก่าที่เปิดใช้งานคุณลักษณะนี้อยู่
X-XSS-Protection สามารถแทนที่ด้วยการตั้งค่า "unsafe-inline" ในส่วนหัว CSP การเปิดใช้งานการตั้งค่านี้อาจต้องใช้ความพยายามอย่างมากขึ้นอยู่กับเว็บไซต์ เนื่องจากหมายความว่า JavaScript ทั้งหมดต้องอยู่ในสคริปต์ภายนอกและไม่สามารถรวมไว้ใน HTML ได้โดยตรง