IFRAME üçün məzmun, təhlükəsizlik və dizayn xüsusiyyətləri
Element birbaşa digər Veb səhifələrinizi veb səhifəyə yerləşdirməyə icazə verir. Amma iframe istifadə edərkən HTML 4.01-də ələ alınmayan bəzi təhlükəsizlik və dizayn məsələləri var. HTML5, bu narahatlıqları həll etmək üçün bu elementə üç yeni xüsusiyyət gətirir:
Sandbox Attribute
IFRAME elementinin sandbox atributu iframların çox faydalı bir təhlükəsizlik xüsusiyyətidir. Bir IFRAME elementinə yerləşdirdiyiniz zaman, istifadəçi agentinə sayt və onun istifadəçilərinə təhlükəsizlik riskinə səbəb ola biləcək xüsusiyyətləri qadağan etməyi öyrədirsiniz.
Misal üçün:
Brauzerə təhlükəsizlik riski ola biləcək bütün xüsusiyyətlərə icazə verilməyəcəyini bildirir. Xüsusilə, plugins icazə verilmir. Formalar təqdim edilə bilməz. Ssenarilər işləməyəcək və IFRAME xaricindəki bağlantılara icazə verilmir. Nəhayət, cookies, yerli saxlama və eyni domendə (mənşə) olan digər səhifələrə giriş icazə verilmir.
Daha sonra, sandbox açar sözcük değerlerini istifadə edərək, bəzi xüsusiyyətləri təkrar edə bilərsiniz. Bu açar sözlər:
- icazə formaları - formanı təqdim etmək
- eyni-köklü icazə verin - eyni mənşəli domendən çerez kimi məzmuna daxil olmaq üçün bütün skriptlər
- allow-scripts - bu IFRAME-də skriptlərin işə salınması
- allow-top-naviqasiya - IFRAME əlaqələri və skriptləri _top hədəfinə daxil edin
Həm icazə-skriptləri və həm də eyni-mənşəli açar sözləri həmin IFRAME-də birləşdirmək yaxşı bir fikir deyil. Bunu yaparsanız, katıştırılmış səhifə daha sonra hər hansı bir təhlükəsizlik faydasını rədd edərək, sandbox atributunu tamamilə aradan qaldıra bilər.
Srcdoc xüsusiyyət
Srcdoc öznitəsidir ki, veb-dizaynerə iframların üzərində daha çox nəzarət və daha çox təhlükəsizlik verir. Web-səhifəni başqa bir URL-də əlaqələndirmək əvəzinə, veb-dizayner srcdoc öznitəsindəki IFRAME-də göstəriləcək HTML-ni yerləşdirir.
Birincisi, " HTML -də səhifəni sağa qoymaqdan başqa bir şey necədir?" Düşünürsünüz. Bəzi hallarda bu, çox fərqli deyil.
Lakin, IFRAME elementinin funksiyalarından birinə riayət etməlisiniz ki, bu da etibarsız məlumatları saytın qalan hissəsindən ayrı saxlamalıdır.
Bir form kimi bir etibarsız mənbə tərəfindən yaradılan HTML yerləşdirərək bir IFRAME'e güvenilmeyen içeriği "sandbox" yapabilir və hala sahifada görüntüleyebilirsiniz. Blog şərhləri nümunədir. Çoğu blogda yalnız HTML etiket istifadəçilərinin şərhlərində istifadə edə biləcəyi məhdud sayda var. Lakin bu şərhləri srcdoc öznitəsini istifadə edərək, sandboxed IFRAME-də yerləşdirməklə, saytın bütövlükdə qorunub saxlanılması ilə bağlı şərhlər daha güclü ola bilər.
Təhlükəsizlik və iframalar
Yuxarıda göstərilən iki xüsusiyyət IFRAME elementiniz üçün təhlükəsizlik təmin edir, lakin onlar bütün zərərli saytlara qarşı sübut deyildir. Nüfuzlu sayt bir istifadəçini düşmən məzmununa birbaşa daxil olmaq üçün (məsələn, URL-ni brauzerə yazaraq) razı edə bilərlərsə, hələ də hücuma məruz qalmaq mümkündür.
Mümkünse, mətn / html-sandboxed MIME növü olaraq sandboxed IFRAME-də olan məzmunu təyin etmək yaxşıdır.
Səssiz xüsusiyyət
Bu qüsursuz atribut brauzerin ana sənədin bir hissəsi olduğu kimi IFRAME-ni göstərməyi izah edən boolean xüsusiyyətidir. IFRAME'nizin sorunsuz bir şəkildə görünmesini istəyirsinizsə, bu elementi elementə daxil edin:
Ancaq IFRAME'in birbaşa görünməməsi yalnız görünüşdən daha çoxdur, bu da səhifə çərçivə ilə necə qarşılıqlı əlaqədir. Misal üçün:
- IFRAME-də əlaqələr, iframe səhifəsində hədəf _SELF dəsti olmadığı təqdirdə ana pəncərədə açılacaqdır.
- IFRAME-də CSS bütün sənədin kaskatına əlavə olunacaq.
- IFRAME səhifəsinin kök elementi IFRAME bir uşaq hesab olunur.
- IFRAME-in genişliyi və hündürlüyü digər blok-səviyyəli elementlərin necə qurulacağına bənzər bir şəkildə müəyyən edilir.
- Ana sənəd bir ekran oxuyucusu kimi bir çıxış göstərici vasitəsi ilə görüntülendiğinde, IFRAME ayrı bir sənəd olaraq elan edilmədən oxunacaqdır.
- Ana sənəddə olan hər hansı bir skript eyni şəkildə IFRAME sənədinə təsir edəcəkdir. Məsələn, bir skript səhifənin bütün çərçivələrini siyahıya salırsa, IFRAME-də əlaqələr də siyahıya alınacaqdır.
Başqa sözlə, birbaşa təsvir yalnız sərhədləri IFRAME-dən çıxarmaqdan daha çoxdur. Bir IFRAME'in sorunsuz olmasını istəyirsinizsə, məzmundan çox əmin olmalısınız ki, zərərli bir sayt yerləşdirərək veb saytınıza təhlükəsizlik riskini əlavə etmirsiniz.