องค์ประกอบช่วยให้คุณสามารถฝังเว็บเพจอื่น ๆ ลงในเว็บเพจของคุณได้โดยตรง แต่เมื่อใช้ iframes มีประเด็นด้านความปลอดภัยและการออกแบบบางอย่างที่ไม่ได้ระบุไว้ใน HTML 4.01 HTML5 นำแอตทริบิวต์นี้มาใช้ใหม่ 3 องค์ประกอบเพื่อช่วยแก้ปัญหาดังกล่าว:
แอ็ตทริบิวต์ sandbox
Sandbox
แอตทริบิวต์ของ IFRAME
องค์ประกอบเป็นคุณลักษณะด้านความปลอดภัยที่มีประโยชน์มากของ iframes เมื่อคุณวางไว้ใน a IFRAME
คุณจะสั่งให้ตัวแทนผู้ใช้ไม่อนุญาตคุณลักษณะที่อาจทำให้เกิดความเสี่ยงด้านความปลอดภัยแก่ไซต์และผู้ใช้ของไซต์
ตัวอย่างเช่น:
Sandbox = "" >
บอกเบราว์เซอร์ว่าไม่อนุญาตให้คุณลักษณะทั้งหมดที่อาจมีความเสี่ยงด้านความปลอดภัย โดยเฉพาะปลั๊กอินไม่ได้รับอนุญาต ไม่สามารถส่งแบบฟอร์มได้ Sscripts จะไม่ทำงานและลิงก์ภายนอก IFRAME
ไม่ได้รับอนุญาต. สุดท้ายไม่อนุญาตให้เข้าถึงคุกกี้ที่เก็บข้อมูลในเครื่องและหน้าอื่น ๆ ในโดเมนเดียวกัน (ต้นทาง)
จากนั้นใช้ Sandbox
ค่าคำหลักคุณสามารถเปิดใช้งานคุณลักษณะบางอย่างได้ คำหลักเหล่านี้คือ
ช่วยให้รูปแบบ
ส่งแบบฟอร์มอนุญาตให้เดียวกันแหล่งกำเนิด
- อนุญาตสคริปต์เพื่อเข้าถึงเนื้อหาเช่นคุกกี้จากโดเมนต้นทางเดียวกันอนุญาตให้สคริปต์
- อนุญาตสคริปต์เพื่อดำเนินการในนี้IFRAME
ช่วยให้บนนำทาง
- อนุญาตให้IFRAME
ลิงก์และสคริปต์ไปที่_top
เป้า
ไม่ควรตั้งค่าทั้งสองอย่าง อนุญาตให้สคริปต์
และ อนุญาตให้เดียวกันแหล่งกำเนิด
คำหลักด้วยกัน IFRAME
. หากทำเช่นนี้หน้าฝังตัวสามารถลบ Sandbox
แอตทริบิวต์ลบผลประโยชน์ด้านความปลอดภัยใด ๆ
แอตทริบิวต์ srcdoc
srcdoc
attribute คือแอตทริบิวต์ที่ช่วยให้นักออกแบบเว็บสามารถควบคุม iframes รวมทั้งความปลอดภัยได้มากขึ้น แทนที่จะเชื่อมโยงไปยังเว็บเพจที่ URL อื่นนักออกแบบเว็บไซต์จะวาง HTML ไว้เพื่อแสดงใน IFRAME
ข้างใน srcdoc
คุณลักษณะ
ตอนแรกคุณอาจจะคิดว่า "วิธีนี้แตกต่างจากการใส่ HTML ลงในเพจ" และในบางวิธีก็ไม่แตกต่างกันอย่างมาก แต่คุณต้องจำไว้ว่าหนึ่งในหน้าที่ของ IFRAME
ซึ่งจะเก็บข้อมูลที่ไม่น่าเชื่อถือแยกจากส่วนที่เหลือของไซต์
โดยการวาง HTML ที่สร้างโดยแหล่งที่ไม่น่าเชื่อถือเช่นฟอร์มลงใน IFRAME
คุณสามารถ "แซนด์บ็อกซ์" เนื้อหาที่ไม่น่าเชื่อถือและยังคงแสดงบนหน้าเว็บ ความคิดเห็นของ Blog เป็นตัวอย่าง บล็อกส่วนใหญ่มีเพียงจำนวน จำกัด ที่ผู้แสดงความคิดเห็นในแท็ก HTML สามารถใช้ในความคิดเห็นได้ แต่โดยการใส่ความคิดเห็นเหล่านั้นใน sandboxed IFRAME
ใช้ srcdoc
แอตทริบิวต์ความคิดเห็นอาจมีประสิทธิภาพมากขึ้นในขณะที่ยังช่วยปกป้องไซต์โดยรวม
ความปลอดภัยและ Iframes
แอตทริบิวต์สองข้อดังกล่าวมีความปลอดภัยสำหรับคุณ IFRAME
องค์ประกอบ แต่ไม่ได้เป็นหลักฐานยืนยันไซต์ที่เป็นอันตรายทั้งหมด หากไซต์ที่เป็นอันตรายสามารถโน้มน้าวให้ผู้ใช้เข้าถึงเนื้อหาที่เป็นปฏิปักษ์โดยตรง (เช่นพิมพ์ URL ลงในเบราว์เซอร์) ระบบจะยังสามารถโจมตีได้
ถ้าเป็นไปได้ควรตั้งเนื้อหาที่อยู่ใน sandboxed IFRAME
เป็น text / html-sandboxed
ประเภท MIME
แอตทริบิวต์ที่ราบรื่น
ไม่มีรอยต่อ
attribute เป็น boolean attribute ที่บอกให้เบราเซอร์แสดง IFRAME
ราวกับว่ามันเป็นส่วนหนึ่งของเอกสารแม่ ถ้าคุณต้องการ IFRAME
เพื่อแสดงผลได้อย่างราบรื่นเพียงใส่แอตทริบิวต์นี้ในอิลิเมนต์:
ไม่มีรอยต่อ >
แต่การทำ IFRAME
ไม่มีรอยต่อเป็นมากกว่าเพียงแค่รูปลักษณ์เท่านั้น แต่ยังเป็นวิธีที่เพจโต้ตอบกับเฟรม ตัวอย่างเช่น:
- ลิงก์ใน
IFRAME
จะเปิดขึ้นในหน้าต่างหลักเว้นแต่IFRAME
หน้ามีเป้าหมาย_self
ชุด - CSS ใน
IFRAME
จะถูกเพิ่มลงในน้ำตกของเอกสารทั้งหมด - องค์ประกอบรากของ
IFRAME
เพจถือว่าเป็นบุตรของIFRAME
. - ความกว้างและความสูงของ
IFRAME
ตั้งอยู่ในลักษณะคล้ายกับว่าจะตั้งค่าองค์ประกอบระดับบล็อกอื่น ๆ อย่างไร - เมื่อเอกสารหลักถูกเรียกโดยเครื่องมือการแสดงคำพูดเช่นโปรแกรมอ่านหน้าจอ
IFRAME
จะอ่านได้โดยไม่ต้องประกาศเป็นเอกสารแยกต่างหาก - สคริปต์ใด ๆ ในเอกสารหลักจะมีผลต่อ
IFRAME
เอกสารในลักษณะเดียวกัน ตัวอย่างเช่นหากสคริปต์ระบุเฟรมทั้งหมดบนหน้าเว็บลิงก์ในส่วนIFRAME
จะปรากฏเป็นอย่างดี
กล่าวอีกนัยหนึ่งคือ ไม่มีรอยต่อ
แอตทริบิวต์ไม่มากเพียงแค่เอาเส้นขอบออกจาก IFRAME
. หากคุณกำลังจะตั้งค่า a IFRAME
เพื่อให้ราบรื่นคุณควรจะแน่ใจในเนื้อหาเพื่อไม่ให้คุณเพิ่มความเสี่ยงด้านความปลอดภัยใด ๆ ให้กับเว็บไซต์ของคุณโดยการฝังไซต์ที่เป็นอันตราย