องค์ประกอบช่วยให้คุณสามารถฝังเว็บเพจอื่น ๆ ลงในเว็บเพจของคุณได้โดยตรง แต่เมื่อใช้ 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 เพื่อให้ราบรื่นคุณควรจะแน่ใจในเนื้อหาเพื่อไม่ให้คุณเพิ่มความเสี่ยงด้านความปลอดภัยใด ๆ ให้กับเว็บไซต์ของคุณโดยการฝังไซต์ที่เป็นอันตราย




