IFRAME-i sisu, turvalisus ja disaini atribuudid
Element võimaldab teil teisi veebilehti otse veebi lehele lisada. Kuid IFrameti kasutamisel on mõningaid turvalisuse ja disainiga seotud küsimusi, mida ei käsitleta HTML 4.01-s. HTML5 toob selle elemendi juurde kolm uut atribuuti, mis aitab neid probleeme lahendada:
Liivakasti atribuut
IFRAME-elemendi liivakasti atribuut on väga kasulik iidramide turbefunktsioon. Kui asetate selle IFRAME-elemendi, annate kasutajaagentale ülesandeks keelata funktsioone, mis võivad saidile ja selle kasutajatele turvariski põhjustada.
Näiteks:
Räägib brauserile keelata kõik funktsioonid, mis võivad olla turvariski. Konkreetsemalt pole pluginad keelatud. Vorminguid ei saa esitada. Sscriptid ei käivitu ja linke väljaspool IFRAME pole lubatud. Lõpuks ei ole küpsiste, kohaliku ladustamise ja sama domeeni (päritolu) muude lehtede kasutamine lubatud.
Seejärel saate mõne funktsiooni uuesti lubada, kasutades liivakasti märksõna väärtusi. Need märksõnad on:
- lubage-vormid-väikese vormi esitamine
- lubama sama päritoluga -allow-skripte, et pääseda juurde sama päritoluga domeeni kuuluvatele sisulehtedele nagu küpsised
- allow-scripts-sellel IFRAME-il lubatavad skriptid
- allow-top-navigation-andke IFRAME-i lingid ja skriptid _top-sihiks
Pole mõtet mõlemat lubatavat skripti ja samast allikast pärinevatest märksõnadest ühe ja sama IFRAME-i vahel seada. Kui teete seda, saab sisseehitatud leht seejärel liivakasti atribuudi täielikult eemaldada, jättes julgeolekupõhised eelised.
Srcdoc atribuut
Atribuut srcdoc on atribuut, mis annab veebi disainerile rohkem infotribade kontrolli kui ka rohkem turvalisust. Selle asemel, et veebi lehele linkida teistsugusel URL-il, asetab veebidisainer HTML-i, mis kuvatakse atribuudis srcdoc IFRAMEis.
Algul võiksite mõelda: "Kuidas see erineb selle poolest, et lehes HTML-i õige paigutamine?" Ja mõnel juhul ei ole see väga erinevad.
Kuid peate silmas pidama mõnda IFRAME-elemendi funktsiooni, milleks on ebausaldusväärsete andmete hoidmine ülejäänud saidist eraldi.
Asetades HTML-i, mis on ebausaldusväärse allika (näiteks vormi) poolt loodud IFRAME-i loomisel, saate liivakasti ebatõenäolise sisu "liivakasti" ja kuvada selle lehel ikkagi. Blogi kommentaarid on näide. Enamikel blogidel on vaid piiratud hulk HTML-märgendeid, mida kommenteerijad saavad oma kommentaarides kasutada. Kuid asetades need kommentaarid liivakasti IFRAME-i kasutades atribuuti srcdoc, võivad kommentaarid olla suuremad, kaitstes samas kogu saiti tervikuna.
Turvalisus ja frames
Kahe eespool nimetatud atribuudid tagavad teie IFRAME-elemendi turvalisuse, kuid need ei ole tõendid kõigi pahatahtlike saitide vastu. Kui pahatahtlik veebisait saab veenda kasutajat otseselt vaenulikku sisu juurde pääsema (näiteks URL-i sisestades oma brauserisse), võib neid ikkagi rünnata.
Kui see on võimalik, on kõige sobivam määrata liidetavate IFRAME-ide sisu kui tekst / html-liivakasti MIME tüüp.
Õmbluseta atribuut
Õmbluseta atribuut on boolean atribuut, mis ütleb brauserile IFRAME näitamise nii, nagu see oleks osa dokumendist. Kui soovite oma IFRAMEi sujuvalt kuvada, lisage lihtsalt see atribuut elementi:
Kuid IFRAME-i sujuvaks muutmine on rohkem kui lihtsalt välimus, samuti on see, kuidas leht suhelda raamiga. Näiteks:
- IFRAME-i lingid avanevad vanemaknas, kui IFRAME-lehel pole siht-_SELF-i määratud.
- IFRAME-i CSS lisatakse kogu dokumendi kaskaadile.
- IFRAME-i lehe root-element loetakse IFRAME-i lapseks.
- IFRAMEi laius ja kõrgus määratakse sarnaselt muude blokeeringu taseme elementide määramisega.
- Kui algdokumenti vaatab kõneregister tööriist nagu ekraanilugeja, loetakse IFRAME seda eraldi dokumendina ära kuulutamata.
- Kõik algdokumendi skriptid mõjutavad üht ja sama IFRAME-i dokumenti. Näiteks kui skript loetleb kõik lehe kaadrid, siis ka IFRAME-i lingid loetletakse.
Teisisõnu, õmblusteta atribuut läheb palju rohkem kui lihtsalt IFRAME piiride eemaldamine. Kui kavatsete luua IFRAMEi sujuvaks, peaksite olema sisu suhtes väga kindel, et te ei lisaks oma veebisaidile turvalisuse ohtu pahatahtliku saidi sisestamise kaudu.