Atur kandungan, keselamatan dan reka bentuk untuk IFRAME
Unsur ini membolehkan anda menyemai halaman web yang lain secara langsung ke laman Web anda. Tetapi apabila menggunakan iframes terdapat beberapa isu keselamatan dan reka bentuk yang tidak ditangani dalam HTML 4.01. HTML5 membawa tiga atribut baharu kepada elemen ini untuk membantu menangani kebimbangan ini:
Atribut kotak pasir
Atribut kotak pasir unsur IFRAME adalah ciri keselamatan yang sangat berguna bagi iframes. Apabila anda meletakkannya dalam elemen IFRAME, anda mengarahkan ejen pengguna untuk melarang ciri yang mungkin menyebabkan risiko keselamatan ke tapak dan penggunanya.
Sebagai contoh:
Mengatakan penyemak imbas untuk tidak membenarkan semua ciri yang mungkin menjadi risiko keselamatan. Khususnya, plugin tidak dibenarkan. Borang tidak boleh dihantar. Sskrip tidak akan berjalan dan pautan di luar IFRAME tidak dibenarkan. Terakhir, akses ke kuki, storan setempat dan halaman lain pada domain yang sama (asal) tidak dibenarkan.
Kemudian, menggunakan nilai kata kunci kotak pasir, anda boleh mengaktifkan semula beberapa ciri. Kata kunci ini ialah:
- membenarkan borang-borang penyerahan borang
- benarkan izin yang sama-mula-mula untuk mengakses kandungan seperti kuki dari domain asal yang sama
- izin skrip -membolehkan skrip untuk dijalankan dalam IFRAME ini
- membolehkan navigasi teratas -lantaran pautan IFRAME dan skrip ke target utama
Ia bukan idea yang baik untuk menetapkan kedua-dua kata kunci izin dan kata kunci yang sama-sama bersama pada IFRAME yang sama. Sekiranya anda melakukan ini, halaman yang tertanam kemudian akan memadam atribut kotak pasir sepenuhnya, menafikan sebarang faedah keselamatan.
Atribut srcdoc
Atribut srcdoc adalah atribut yang memberikan pereka Web lebih banyak kawalan ke atas iframes serta keselamatan yang lebih. Daripada menghubungkan ke laman Web pada URL yang lain, pereka Web menempatkan HTML yang dipaparkan dalam IFRAME di dalam atribut srcdoc.
Pada mulanya, anda mungkin berfikir, "Bagaimana ini berbeza daripada meletakkan HTML betul di halaman?" Dan dalam beberapa cara, ia tidak begitu berbeza.
Tetapi anda perlu mengingati salah satu fungsi elemen IFRAME, iaitu menyimpan data yang tidak dipercayai yang berasingan dari seluruh tapak.
Dengan meletakkan HTML yang dicipta oleh sumber yang tidak dipercayai, seperti bentuk, ke dalam IFRAME, anda boleh "kotak pasir" kandungan tidak dipercayai dan masih memaparkannya pada halaman. Komen blog adalah contoh. Kebanyakan blog hanya mempunyai bilangan terhad commenter tag HTML yang boleh digunakan dalam komen mereka. Tetapi dengan meletakkan komen-komen tersebut di dalam IFRAME sandbox dengan menggunakan atribut srcdoc, komen-komen tersebut boleh menjadi lebih mantap ketika masih melindungi laman web secara keseluruhan.
Keselamatan dan Asrama
Atribut dua di atas memberikan keselamatan untuk elemen IFRAME anda, tetapi ia bukan bukti terhadap semua laman web yang berniat jahat. Jika tapak berniat jahat dapat meyakinkan pengguna untuk mengakses kandungan bermusuhan secara langsung (seperti dengan menaip URL ke penyemak imbas mereka), mereka masih boleh diserang.
Jika boleh, sebaiknya tetapkan kandungan yang terdapat dalam IFRAME pasir sebagai jenis MIME kotak teks / html.
Atribut lancar
Atribut lancar adalah atribut boolean yang memberitahu pelayar untuk memaparkan IFRAME seolah-olah ia adalah sebahagian daripada dokumen ibu bapa. Jika anda mahu IFRAME anda dipaparkan dengan lancar, masukkan sahaja atribut ini dalam elemen:
Tetapi menjadikan IFRAME lancar lebih daripada sekadar rupa, juga bagaimana halaman berinteraksi dengan bingkai. Sebagai contoh:
- Pautan dalam IFRAME akan dibuka dalam tetingkap induk , kecuali halaman IFRAME mempunyai set _SELF sasaran.
- CSS dalam IFRAME akan ditambahkan pada lata keseluruhan dokumen.
- Elemen akar halaman IFRAME dianggap sebagai anak dari IFRAME.
- Lebar dan ketinggian IFRAME ditetapkan dengan cara yang serupa dengan bagaimana elemen-elemen peringkat blok yang lain akan ditetapkan.
- Apabila dokumen ibu bapa dilihat oleh alat penyampaian ucapan seperti pembaca skrin, IFRAME akan dibaca tanpa mengumumkannya sebagai dokumen berasingan.
- Mana-mana skrip pada dokumen induk akan menjejaskan dokumen IFRAME dengan cara yang sama. Contohnya, jika skrip menyenaraikan semua bingkai pada halaman, pautan dalam IFRAME akan disenaraikan juga.
Dalam erti kata lain, atribut lancar lebih banyak daripada sekadar mengeluarkan sempadan dari IFRAME. Sekiranya anda hendak menetapkan IFRAME menjadi tidak lancar, anda harus pasti kandungannya supaya anda tidak menambah sebarang risiko keselamatan ke laman web anda dengan memasukkan tapak berniat jahat.