Mga katangian, seguridad at mga katangian ng disenyo para sa IFRAME
Pinapayagan ka ng elemento na i-embed mo nang direkta ang iba pang mga pahina sa Web sa iyong Web page. Ngunit kapag gumagamit ng mga iframe may ilang mga isyu sa seguridad at disenyo na hindi natugunan sa HTML 4.01. Ang HTML5 ay nagdadala ng tatlong bagong mga katangian sa sangkap na ito upang makatulong na matugunan ang mga alalahaning ito:
Ang sandbox Attribute
Ang katangian ng sandbox ng elemento ng IFRAME ay isang napaka-kapaki-pakinabang na tampok sa seguridad ng mga iframe. Kapag inilagay mo ito sa isang elemento ng IFRAME, tinuturuan mo ang ahente ng gumagamit na i-disallow ang mga tampok na maaaring magdulot ng panganib sa seguridad sa site at sa mga gumagamit nito.
Halimbawa:
Sinasabi ng browser na huwag pahintulutan ang lahat ng mga tampok na maaaring isang panganib sa seguridad. Sa partikular, ang mga plugin ay hindi pinahintulutan. Ang mga form ay hindi maaaring isumite. Hindi tatakbo ang Sscripts at hindi pinapayagan ang mga link sa labas ng IFRAME. Panghuli, ang pag-access sa cookies, lokal na imbakan at iba pang mga pahina sa parehong domain (pinanggalingan) ay hindi pinapayagan.
Pagkatapos, gamit ang mga halaga ng keyword sa sandbox, maaari mong muling paganahin ang ilan sa mga tampok. Ang mga keyword na ito ay:
- payagan ang mga form -pagbigay ng pagsusumite ng form
- payagan-parehong-pinanggalingan -pagkaloob ng mga script upang ma-access ang nilalaman tulad ng mga cookies mula sa parehong domain ng pinagmulan
- payagan ang mga script -pagbigay ng mga script na tumakbo sa IFRAME na ito
- payagan-top-navigation -I-set up ang IFRAME na mga link at mga script sa target na _top
Hindi magandang ideya na itakda ang parehong mga allow-script at payagan ang parehong mga pinagsamang mga keyword sa parehong IFRAME. Kung gagawin mo ito, maaaring ganap na alisin ng naka-embed na pahina ang attribute ng sandbox, na nagpapahina sa anumang mga benepisyo sa seguridad.
Ang srcdoc na Katangian
Ang srcdoc na attribute ay isang katangian na nagbibigay ng higit na kontrol sa taga-disenyo ng Web sa mga iframe pati na rin ang higit na seguridad. Sa halip na mag-link sa isang Web page sa ibang URL, inilalagay ng taga-disenyo ng Web ang HTML na ipapakita sa isang IFRAME sa loob ng attribute ng srcdoc.
Sa umpisa, baka iniisip mo, "Paano ito naiiba kaysa sa paglalagay ng HTML mismo sa pahina?" At sa ilang mga paraan, ito ay hindi gaanong magkakaiba.
Ngunit dapat mong isaisip ang isa sa mga function ng elemento ng IFRAME, na kung saan ay upang mapanatili ang hindi pinagkakatiwalaang data na hiwalay mula sa iba pang bahagi ng site.
Sa pamamagitan ng paglalagay ng HTML na nilikha ng isang hindi pinagkakatiwalaang pinagmulan, tulad ng isang form, sa isang IFRAME maaari mong "sandbox" ang hindi pinagkakatiwalaang nilalaman at ipapakita pa rin ito sa pahina. Ang mga komento ng blog ay isang halimbawa. Karamihan sa mga blog ay mayroon lamang isang limitadong bilang ng mga tag ng mga tag ng HTML na magagamit sa kanilang mga komento. Ngunit sa pamamagitan ng paglalagay ng mga komentong iyon sa isang sandboxed na IFRAME gamit ang srcdoc na attribute, ang mga komento ay maaaring maging mas matatag habang pinoprotektahan pa rin ang site sa kabuuan.
Seguridad at Mga Iframe
Ang dalawang katangian sa itaas ay nagbibigay ng seguridad para sa iyong mga elemento ng IFRAME, ngunit hindi ito patunay laban sa lahat ng mga nakakahamak na site. Kung ang nakakahamak na site ay maaaring kumbinsihin ang isang user upang ma-access nang direkta ang pagalit na nilalaman (tulad ng sa pamamagitan ng pag-type ng URL sa kanilang browser) maaari pa rin silang maatake.
Kung posible ang pinakamahusay na itakda ang nilalaman na nasa sandboxed na IFRAME bilang uri ng text / html-sandbox na MIME.
Ang tuluy-tuloy na Katangian
Ang tuluy-tuloy na katangian ay isang katangian ng boolean na nagsasabi sa browser na ipakita ang IFRAME na parang bahagi ito ng dokumento ng magulang. Kung nais mong ipakita ang iyong IFRAME ng walang putol, isama lamang ang katangiang ito sa elemento:
Ngunit ang paggawa ng IFRAME ng tuluy-tuloy ay higit pa sa hitsura, ito rin kung paano nakikipag-ugnayan ang pahina sa frame. Halimbawa:
- Ang mga link sa IFRAME ay magbubukas sa window ng magulang , maliban kung ang pahina ng IFRAME ay may nakatakdang target na _SELF.
- Ang CSS sa IFRAME ay idaragdag sa kaskad ng buong dokumento.
- Ang root elemento ng pahina ng IFRAME ay itinuturing na isang bata ng IFRAME.
- Ang lapad at taas ng IFRAME ay nakatakda sa isang katulad na paraan kung paano itatakda ang ibang mga elemento ng block-level .
- Kapag ang dokumento ng magulang ay tiningnan ng isang tool sa pag-render ng pagsasalita tulad ng isang screen reader, ang IFRAME ay mababasa nang hindi ipinapahayag ito bilang isang hiwalay na dokumento.
- Ang anumang mga script sa dokumento ng magulang ay makakaapekto sa dokumento ng IFRAME sa parehong paraan. Halimbawa, kung ang isang script na nakalista sa lahat ng mga frame sa pahina, ang mga link sa IFRAME ay nakalista rin.
Sa ibang salita, ang tuluy-tuloy na katangian ay higit pa kaysa sa alisin lamang ang mga hangganan mula sa IFRAME. Kung magtatakda ka ng isang IFRAME na walang tahi, dapat kang maging sigurado sa mga nilalaman upang hindi ka magdagdag ng anumang panganib sa seguridad sa iyong website sa pamamagitan ng pag-embed ng isang nakakahamak na site.