ส่วนหัว HTTP เป็นข้อมูลเมตาประเภทหนึ่งที่ส่งพร้อมกับคำขอและการตอบสนองของเว็บ ข้อมูลที่ให้มานั้นมีความสำคัญหรือเป็นเพียงข้อมูลเท่านั้น ส่วนหัวความปลอดภัยเป็นส่วนย่อยของ "ส่วนหัวการตอบสนอง" ที่เว็บเซิร์ฟเวอร์สามารถตั้งค่าได้ สิ่งเหล่านี้เป็นหนึ่งในคุณสมบัติที่สามารถช่วยแก้ไขปัญหาด้านความปลอดภัยจำนวนหนึ่งได้ หนึ่งในส่วนหัวด้านความปลอดภัยที่เรียกว่า "X-Frame-Options" ได้รับการออกแบบมาเพื่อป้องกันการโจมตีแบบคลิกแจ็ค
คลิก-Jacking
Click-jacking หรือที่รู้จักในชื่อ “User Interface Redressing” เป็นปัญหาที่ผู้โจมตีสามารถหลอกให้ผู้ใช้คลิกที่สิ่งที่ไม่เหมือนกับที่ปรากฏ สำหรับเว็บไซต์ ทำได้โดยวางเว็บไซต์โปร่งใสทับเว็บไซต์ที่มองเห็นได้ ในการโจมตีประเภทนี้ ผู้ใช้คิดว่าพวกเขากำลังโต้ตอบกับเว็บไซต์ที่มองเห็นได้ แต่ในความเป็นจริง พวกเขากำลังส่งผลกระทบต่อเว็บไซต์ที่โปร่งใสโดยไม่รู้ตัว
ตัวอย่างเช่น ผู้โจมตีสามารถตั้งค่าเว็บไซต์ที่ทำให้ผู้ใช้มีโอกาสคลิกบนปุ่ม อาจเป็นปุ่มเล่นสำหรับวิดีโอ ในเลเยอร์โปร่งใสที่ด้านบนของหน้าเว็บนั้นเป็นหน้าเว็บที่สอง เช่น หน้าเว็บที่จะลบบัญชี Facebook ของคุณด้วยปุ่ม "ลบบัญชี" ที่วางตำแหน่งไว้เหนือปุ่มเล่นโดยตรง ในสถานการณ์สมมตินี้เมื่อผู้ใช้พยายามคลิกเล่น พวกเขาจะคลิกปุ่มเพื่อลบบัญชี Facebook ของตน
Click-jacking อาศัยความสามารถในการแสดงเว็บไซต์เป้าหมายที่ด้านบนสุดของเว็บไซต์จำลอง ผ่านกระบวนการที่เรียกว่า “Framing” การทำเฟรมใช้องค์ประกอบ HTML “iframe” ซึ่งสามารถโหลดหน้าเว็บที่แยกจากกันทั้งหมดภายในหน้าอื่น โดยการโหลดหน้าเว็บเป้าหมายในเฟรม วางตำแหน่งอย่างระมัดระวัง และเปลี่ยนให้โปร่งใส เหยื่อจะไม่รู้ตัวเลยว่าพวกเขากำลังถูกหลอกให้ดำเนินการใดๆ
X-Frame-Options
ส่วนหัวการตอบสนอง HTTP “X-Frame-Options” เป็นคุณสมบัติเสริมที่สามารถตั้งค่าสำหรับเว็บไซต์ในไฟล์การกำหนดค่าเซิร์ฟเวอร์ X-Frame-Options ป้องกันไม่ให้โหลดหน้าเว็บใน iframes ซึ่งป้องกันไม่ให้ถูกซ้อนทับบนเว็บไซต์อื่น เบราว์เซอร์ของเหยื่อใช้การควบคุมความปลอดภัยจริง ๆ เนื่องจากเบราว์เซอร์ทั้งหมดเคารพส่วนหัว X-Frame-Options และจะปฏิเสธที่จะโหลดหน้าเว็บใดๆ ที่มีการตั้งค่าส่วนหัวในเฟรม
ส่วนหัวช่วยให้เจ้าของเว็บไซต์กำหนดค่าการตั้งค่าที่จำกัดได้ มีการตั้งค่าสองแบบ: “X-Frame-Options: DENY” ป้องกันไม่ให้หน้าเว็บที่มีการป้องกันถูกเฟรม อีกตัวเลือกหนึ่งคือ “X-Frame-Options: SAMEORIGIN” อนุญาตให้ใส่กรอบหน้าเว็บที่มีการป้องกัน เฉพาะในกรณีที่หน้าที่โหลดหน้าเฟรมมีชื่อโดเมนเดียวกัน ในกรณีนี้ คุณสามารถโหลดเฟรมบนเว็บไซต์ของคุณเองได้ แต่จะไม่มีใครโหลดเฟรมนั้นบนเว็บไซต์ของพวกเขาได้