IFRAME satura, drošības un dizaina atribūti
Elements ļauj jums iegult citas tīmekļa lapas tieši savā tīmekļa lapā. Bet, izmantojot iframes , ir daži drošības un dizaina jautājumi, kas nav apskatīti HTML 4.01. HTML5 šim elementam piedāvā trīs jaunus atribūtus, lai palīdzētu risināt šos jautājumus:
Sandbox Attribute
IFRAME elementa smilškastes atribūts ir ļoti noderīgs iframe piemērs. Kad jūs to ievietojat IFRAME elementā, jūs uzdodiet lietotāja aģentam aizliegt tādas funkcijas, kas var radīt drošības risku vietnei un tās lietotājiem.
Piemēram:
Norāda pārlūku, lai aizliegtu visas funkcijas, kas var būt drošības risks. Konkrēti, spraudņi ir aizliegti. Veidlapas nevar iesniegt. Skripti netiks rādīti, un saites ārpus IFRAME nav atļautas. Visbeidzot, nav atļauts piekļūt sīkdatnēm, vietējai glabāšanai un citām vietnēm tajā pašā domēnā (izcelsmes).
Pēc tam, izmantojot sandbox atslēgvārdu vērtības, varat atkārtoti iespējot dažas funkcijas. Šie atslēgvārdi ir šādi:
- atļaujas veidlapas -formulējuma iesniegšana
- allow-same-origin-atļaujas skripti, lai piekļūtu tādam saturam kā sīkfaili no viena izcelsmes domēna
- allow-scripts-atļaut skriptus palaist šajā IFRAME
- allow-top-navigation - atļaut IFRAME saites un skriptus _top mērķim
Nav pareizi iestatīt abus atļaujas skriptus un atļaut vienāda izcelsmes atslēgvārdus vienā un tajā pašā IFRAME. Ja to izdarīsit, iegultā lapa pēc tam var pilnībā noņemt smilškastes atribūtu, neievērojot nekādus drošības pabalstus.
Srcdoc atribūts
Atribūts srcdoc ir atribūts, kas piešķir Web dizainerim lielāku kontroli pār iframe, kā arī lielāku drošību. Tā vietā, lai izveidotu saiti uz tīmekļa lapu ar citu URL, Web dizaineris novieto HTML, kas parādās IFRAME iekšā atribūta srcdoc.
Sākumā jūs domājat: "Kā tas atšķiras no tā, kā HTML lapā ievietot tiesības?" Un dažos veidos tas nav ļoti atšķirīgs.
Bet jums ir jāpatur prātā viena no IFRAME elementa funkcijām, proti, lai saglabātu neuzticamus datus atsevišķi no pārējās vietnes.
Novietojot HTML, kas izveidots ar neuzticamu avotu, piemēram, formu, IFRAME, jūs varat "notīrīt" neuzticamo saturu un joprojām to parādīt lapā. Emuāra komentāri ir piemērs. Lielākajai daļai emuāru ir tikai ierobežots skaits HTML tagu komentētāji var izmantot savos komentāros. Bet, ievietojot šos komentārus smilškastes lodziņā IFRAME, izmantojot atribūtu srcdoc, komentāri var būt daudz izturīgāki, vienlaikus aizsargājot vietni kopumā.
Drošība un Iframes
Iepriekš minētie divi atribūti nodrošina jūsu IFRAME elementu drošību, taču tie nav pierādījumi pret visām ļaunprātīgām vietnēm. Ja ļaundabīgā vietne var pārliecināt lietotāju tieši piekļūt naidīgajam saturam (piemēram, ierakstot URL savā pārlūkprogrammā), to joprojām var uzbrukt.
Ja iespējams, vislabāk ir iestatīt saturu, kas ir sandboxed IFRAME kā teksta / html-sandboxed MIME tips.
Bezšuvju atribūts
Bezšuvju atribūts ir loģisks atribūts, kas pārlūkprogrammā norāda pārlūkprogrammu IFRAME tā, it kā tā būtu vecāka dokumenta daļa. Ja vēlaties, lai jūsu IFRAME tiktu parādīts nemanāmi, vienkārši iekļaujiet šo atribūtu elementā:
Bet IFRAME bezšuvju veidošana ir ne tikai izskats, bet arī tas, kā lapa mijiedarbojas ar rāmi. Piemēram:
- Saites IFRAME tiks atvērtas vecākajā logā , ja vien IFRAME lapā nav iestatīta mērķa _SELF.
- IFRAME CSS tiks pievienots visa dokumenta kaskādei.
- IFRAME lapas saknes elements tiek uzskatīts par IFRAME bērniem.
- IFRAME platums un augstums ir iestatīts līdzīgi, kā noteikt citus bloka līmeņa elementus .
- Kad pamatdokumentu aplūko runas atveidošanas rīks, piemēram, ekrāna lasītājs, IFRAME tiek lasīts, to nepaziņojot kā atsevišķu dokumentu.
- Visi mātes dokumenta skripti ietekmētu IFRAME dokumentu tādā pašā veidā. Piemēram, ja skriptā ir uzskaitīti visi lapā esošie rāmji, sarakstā parādīsies arī IFRAME saites.
Citiem vārdiem sakot, bezšuvju atribūts daudz vairāk nekā vienkārši noņem robežas no IFRAME. Ja jūs gatavojaties iestatīt IFRAME, lai tie būtu savstarpēji savienojami, jums jābūt ļoti pārliecinātiem par saturu, lai jūs neradītu nekādu drošības risku jūsu vietnei, ievietojot ļaunprātīgu vietni.