Bezpečnostní problém gadgetů v iframe
Nálepky:
Michael Mahemoff (spoluautor knihy The Art & Science of JavaScript) se zamýšlí nad bezpečností gadgetů na webových stránkách. Gadgety jsou malé webové aplikace obvykle hostované v iframe jiné webové stránky. Michael upozorňuje, že běh gadgetů v iframe není bezpečný, jelikož gadget může místo hlavního dokumentu nahrát stránku vlastní a dosud neexistuje cesta, jak tomu zabránit:
V tuhle chvíli neumíme problém vyřešit. Jednou možností by bylo, aby se kontejner pokusil něco udělat v zřídka používané metodě onexit(), která se spustí dříve, než se nová stránka načte. Ale práce na WebWait, který je k problému rovněž náchylný, mně ukázala, že v této fázi nemůžete udělat už nic, ani zjistit, zda opuštění stránky bylo vyvoláno iframem nebo uživatelem zadávajícím novou adresu.
Michal také nastiňuje možné řešení:Řešením by v budoucnu mohla být Caja, pokud bude připravena na produkční použití. Caja zaručí bezpečnou podmnožinu JavaScriptu, takže kontejner, jako je iGoogle, může nabízet pouze gadgety, které se ukázaly jako bezpečné.
(Zdroj: Softwareas.com)
Pozn.: S řešením přichází také HTML5, které zavádí u iframe nový atribut sandbox. Ten mj. zabrání, aby iframe mohl změnit adresu hlavního dokumentu.