IFRAME uchun kontent, xavfsizlik va dizayn xususiyatlari
Ushbu element boshqa veb-sahifalarni bevosita Veb-sahifangizga joylashtirish imkonini beradi. Ammo iframe foydalanishda HTML 4.01 da ko'rib chiqilmagan ayrim xavfsizlik va dizayn muammolari mavjud. HTML5 bu muammolarni hal qilishda yordam berish uchun ushbu elementga uchta yangi atributni keltiradi:
Sandbox Attribute
IFRAME elementining qum xujjatlari xususiyati iframelarning juda foydali xavfsizlik xususiyati. Agar IFRAME elementiga joylashtirsangiz, foydalanuvchi agentiga sayt va uning foydalanuvchilari uchun xavfsizlik xavfiga olib kelishi mumkin bo'lgan xususiyatlarni taqiqlashni buyurasiz.
Masalan:
Brauzer xavfsizlik uchun xavfli bo'lishi mumkin bo'lgan barcha xususiyatlarni taqiqlashni bildiradi. Xususan, plaginlarga ruxsat berilmaydi. Formalar topshirilmaydi. Stscripts ishlamaydi va IFRAME tashqarisidagi yo'nalishlarga ruxsat berilmaydi. Va nihoyat, bitta domenda (kelib chiqishi) cookie fayllari, mahalliy saqlash va boshqa sahifalarga ruxsat berilmaydi.
Keyinchalik, sandbox kalit so'zlari qiymatlaridan foydalanib, ba'zi xususiyatlarni qayta yoqing. Ushbu kalit so'zlar:
- ruxsat beruvchi formalar - ariza topshirishga ruxsat berish
- ruxsat berish-bir xil-kelib chiqishi - bir xil boshlang'ich domenidan cookie-fayllar kabi tarkibga kirish uchun ruxsatnomalar
- allow-scripts - ushbu IFRAME-da skriptlarni ishga tushirish
- allow-top-navigatsiya - IFRAME havolalarini va skriptlarni _top maqsadga kiriting
Ham permit-skriptlarni o'rnatib, bir xil kalit so'zlarni bir xil IFRAME-ga qo'yish yaxshi emas. Agar buni amalga oshirsangiz, ko'shimcha sahifa sizning sandboxing xususiyatini butunlay olib tashlashi mumkin, bu xavfsizlik imtiyozlarini rad etadi.
Srcdoc xususiyati
Srcdoc xususiyati veb-uslubchisi iframe-larga qo'shimcha xavfsizlikni ta'minlashga qo'shimcha nazoratni beruvchi xususiyatdir. Veb-sahifani boshqa URLda ulash o'rniga veb-uslubchisi srcdoc xususiyati ichidagi IFRAMEda ko'rsatiladigan HTMLni joylashtiradi.
Birinchidan, siz " HTML- sahifani to'g'ri sahifaga qo'yishdan qanday farq qiladi?" Deb o'ylayotgandirsiz. Ba'zi hollarda bu juda katta farq yo'q.
Lekin IFRAME elementining funktsiyalaridan biri ishonchli ma'lumotni saytning qolgan qismlaridan ajratish kerak bo'lganini yodda tutish kerak.
Ishonchli bo'lmagan manbalardan (masalan, forma, IFRAME) yaratilgan HTMLni ishonchli bo'lmagan tarkibni "qum qilish" mumkin va uni sahifada ko'rsatasiz. Blogdagi sharhlar misol. Ko'pgina bloglarda faqatgina HTML tags sharhlovchilari o'z sharhlarida foydalanishi mumkin bo'lgan cheklangan songa ega. Ammo bu izohlarni sandboxed IFRAME-da srcdoc xususiyati yordamida joylashtirish orqali sharhlar butunlay saytni butunlay himoya qilganda yanada mustahkam bo'lishi mumkin.
Xavfsizlik va iframe
Yuqoridagi ikkita atribut IFRAME elementingiz uchun xavfsizlikni ta'minlaydi, ammo ular barcha zararli saytlarga qarshi dalil emas. Agar zararli sayt foydalanuvchilarni to'g'ridan-to'g'ri dushmanlar kontentiga kirishiga ishonch hosil qilsa (URLni o'z brauzeriga kiritish orqali), ular hali ham hujumga uchrashi mumkin.
Agar iloji bo'lsa, matnli / html-sandboxed MIME turi sifatida qum qutisidagi IFRAME tarkibini sozlash yaxshidir.
Yumshoq fazilat
Choksiz xususiyat - brauzerga IFRAMEni ota-ona hujjatining bir qismi sifatida ko'rsatishi uchun bildiradigan boolean xususiyatdir. IFRAME-ning muammosiz ko'rinishini xohlasangiz, ushbu xususiyatni faqat elementga qo'shing:
Ammo IFRAMEni tiklash faqatgina tashqi ko'rinishdan ko'ra ko'proq, bu ham sahifaning ramkaga qanday ta'sir qilishi. Masalan:
- IFRAME-dagi havolalar ota-oyna oynasida ochiladi , agar IFRAME sahifasida maqsad _SELF o'rnatilgan bo'lsa.
- IFRAME da CSS barcha hujjatning kaskadiga qo'shiladi.
- IFRAME sahifasining ildiz elementi IFRAMEning bolasi hisoblanadi.
- IFRAME ning kengligi va balandligi boshqa blok-darajadagi elementlarning qanday o'rnatilishi bilan bir xil tarzda o'rnatiladi.
- Asosiy hujjat ekran o'quvchi kabi nutqni ko'rsatish vositasi tomonidan ko'rilganda IFRAME uni alohida hujjat deb e'lon qilmasdan o'qiladi.
- Ota-hujjatdagi har qanday skriptlar IFRAME hujjatiga xuddi shunday ta'sir qiladi. Misol uchun, skriptda sahifadagi barcha ramkalar ro'yxatlangan bo'lsa, IFRAMEdagi havolalar ham ro'yxatga olinadi.
Boshqa so'zlar bilan aytganda, uzluksiz atributlar IFRAME dan chegaralarni olib tashlashdan ko'ra ko'proq narsa qiladi. Agar siz IFRAME-ni uzluksiz deb belgilasangiz, kontentdan juda xabardor bo'lishingiz kerak, shunda siz zararli saytni joylashtirish orqali sizning veb-saytingiz uchun havfsizlik xavfi yo'q.