An <iframe> ugrađuje drugačiji HTML dokument na vašu stranicu (karta, video, widget za plaćanje ili nepouzdan sadržaj korisnika). Budući da ugrađena stranica može pokrenuti svoje vlastite skripte, sandbox atribut je ključan za sigurnu ugradnju.
An <iframe> ugrađuje drugačiji HTML dokument na vašu stranicu (karta, video, widget za plaćanje ili nepouzdan sadržaj korisnika). Budući da ugrađena stranica može pokrenuti svoje vlastite skripte, sandbox atribut je ključan za sigurnu ugradnju.
sandbox bez vrijednosti primjenjuje maksimalnih ograničenja: nema skripti, nema obrazaca, nema pop-upa, tretira sadržaj kao jedinstveno podrijetlo. Zatim selektivno ponovno omogućite mogućnosti navođenjem tokena:
<iframe sandbox></iframe> <!-- locked down: scripts disabled, etc. -->
<iframe sandbox="allow-scripts allow-forms allow-popups"></iframe>
Česti tokeni:
allow-scripts — dopustite mu da pokreće JavaScript.allow-forms — dopustite mu da šalje obrasce.allow-same-origin — zadrži njegovo podrijetlo (bez toga je null podrijetlo, blokira pohranu/kolačiće).allow-popups, allow-modals, allow-top-navigation.Napomena o sigurnosti: kombiniranje allow-scripts i allow-same-origin omogućava okviru da ukloni vlastiti sandbox ako je iste-podrijetla — izbjegavajte tu kombinaciju za nepouzdane sadržaj.
<iframe
referrerpolicy="no-referrer"
allow="camera 'none'; geolocation 'none'"
></iframe>
Iframes ugrađuju sadržaj trećih strana ili korisnika koji ne kontrolirate i kojem ne biste trebali potpuno vjerovati. sandbox (odbiti prema zadanoj vrijednosti, dopustiti samo što je potrebno) plus referrerpolicy/allow vam omogućuje ograničenje tog sadržaja — sprečavanje pokretanja neželjenih skripti, navigacije na vašoj stranici ili pristupa mogućnostima uređaja.
Dodajte title za pristupačnost i loading="lazy" za performanse.