Az IFRAME tartalmi, biztonsági és tervezési jellemzői
Az elem lehetővé teszi más weboldalak beágyazását közvetlenül a weboldalra. De iframe -ok használata esetén vannak olyan biztonsági és tervezési problémák, amelyekre a HTML 4.01 nem foglalkozott. A HTML5 három új attribútumot hoz az elemhez, hogy segítsen ezeknek az aggályoknak:
A homokozó tulajdonsága
Az IFRAME elem homokozó tulajdonsága nagyon hasznos biztonsági elem az iframe-eknek. Ha egy IFRAME elembe helyezi, akkor arra utasítja a felhasználói ügynököt, hogy tiltsa le azokat a funkciókat, amelyek biztonsági kockázatot jelenthetnek a webhely és a felhasználók számára.
Például:
Azt mondja a böngészőnek, hogy letiltja az összes olyan szolgáltatást, amely biztonsági kockázatot jelenthet. Pontosabban, a bővítmények nem engedélyezettek. Az űrlapokat nem lehet benyújtani. Az Sscripts nem fut, és az IFRAME-en kívüli linkek nem engedélyezettek. Végül, a cookie-khoz, a helyi tároláshoz és más oldalakhoz való hozzáférés ugyanazon a tartományon (eredet) nem engedélyezett.
Ezután a homokszórással kapcsolatos kulcsszóértékek használatával újra engedélyezheti néhány funkciót. Ezek a kulcsszavak:
- allow-forms - az űrlap elküldése
- engedélyezzen ugyanazt a származást - lehetővé teszi a szkriptek számára, hogy hozzáférjenek az azonos származási tartományú cookie-khoz
- allow-scripts - a parancsfájlok futtatása ebben az IFRAME-ben
- allow-top-navigation - az IFRAME hivatkozásokat és szkripteket a _top célhoz
Nem jó ötlet beállítani mind a allow-scripteket, mind az azonos eredetű kulcsszavakat ugyanazon az IFRAME-en. Ha ezt megteszi, a beágyazott oldal ezután teljesen eltávolíthatja a sandbox attribútumot, kizárva a biztonsági előnyöket.
Az srcdoc attribútum
Az srcdoc attribútum olyan attribútum, amely megadja a webdesignernek az iframe-ek, valamint a nagyobb biztonságot. Ahelyett, hogy egy weboldalhoz más URL-címhez kapcsolódna, a webes tervező elhelyezi az IFRAME-ban megjelenő HTML-kódot az srcdoc attribútumban.
Először azt gondolhatja, hogy "ez hogyan különbözik a HTML-t közvetlenül az oldalon?" És bizonyos szempontból ez nem szörnyen más.
De az IFRAME elem egyik funkcióját szem előtt kell tartanunk, ami a megbízhatatlan adatok megőrzését jelenti a webhely többi részétől.
A nem megbízható forrás (például űrlap) létrehozása által létrehozott HTML-t egy IFRAME-be helyezi el, a "megbízható" tartalmat pedig "homokozózza", és még mindig megjeleníti az oldalon. A blog megjegyzései egy példa. A legtöbb blognak csak korlátozott számú HTML-címkéje van a kommentároknak a megjegyzéseikben. De azáltal, hogy ezeket a megjegyzéseket egy sandboxed IFRAME-ba helyezi az srcdoc attribútum használatával, akkor a megjegyzések erőteljesebbek lehetnek, miközben megvédik az egész webhelyet.
Biztonsági és Iframes
A fenti két attribútum biztosítja az Ön IFRAME elemeinek biztonságát, de ezek nem bizonyítékai minden rosszindulatú webhelynek. Ha a rosszindulatú webhely meggyőzheti a felhasználót arra, hogy közvetlenül hozzáférjen az ellenséges tartalomhoz (például az URL beírása a böngészőbe), akkor továbbra is megtámadhatók.
Ha lehetséges, akkor a legjobb, ha a sandboxed IFRAME-ben található tartalmat a text / html-sandboxed MIME típusként állítja be.
A zökkenőmentes tulajdonság
A zökkenőmentes attribútum egy logikai attribútum, amely megmutatja a böngészőnek, hogy megjeleníti az IFRAME-t, mintha a szülő dokumentum része lenne. Ha azt szeretné, hogy az IFRAME tökéletesen megjelenjen, akkor csak ezt az attribútumot illessze be az elembe:
De ha az IFRAME zökkenőmentes, az nem csak a megjelenés, hanem az, hogy az oldal hogyan hat a keretre. Például:
- Az IFRAME linkjei a szülőablakban nyílnak meg, hacsak az IFRAME oldal nem rendelkezik a cél _SELF beállítással.
- Az IFRAME CSS-je hozzáadódik a teljes dokumentum kaszkádjához.
- Az IFRAME oldal gyökér eleme az IFRAME gyermekének számít.
- Az IFRAME szélessége és magassága ugyanúgy van beállítva, mint más blokkszintű elemek beállítása.
- Ha a szülő dokumentumot egy beszédkészítő eszköz, például képernyőolvasó nézi, akkor az IFRAME elolvasása anélkül, hogy külön dokumentumként jelentené meg.
- A szülő dokumentum bármely szkriptje ugyanúgy hatással lenne az IFRAME dokumentumra. Ha például egy forgatókönyv felsorolta az oldal összes keretét, az IFRAME linkjei is szerepelnek.
Más szóval, a zökkenőmentes tulajdonság sokkal többet jelent, mint eltávolítani az IFRAME határait. Ha az IFRAME beállítása tökéletes, akkor nagyon biztosnak kell lennie a tartalomban, hogy ne helyezzen biztonsági kockázatot webhelyére rosszindulatú webhely beágyazásával.