<iframe> osadza inny dokument HTML na twojej stronie (mapę, wideo, widżet płatności lub niezaufaną treść użytkownika). Ponieważ osadzona strona może uruchamiać własne skrypty, atrybut sandbox jest kluczem do bezpiecznego osadzania.
<iframe> osadza inny dokument HTML na twojej stronie (mapę, wideo, widżet płatności lub niezaufaną treść użytkownika). Ponieważ osadzona strona może uruchamiać własne skrypty, atrybut sandbox jest kluczem do bezpiecznego osadzania.
sandbox bez wartości stosuje maksymalne ograniczenia: brak skryptów, brak formularzy, brak okienek popup, traktuje treść jako unikatowe źródło. Następnie wybiórczo przywrócisz możliwości, wymieniając tokeny:
<iframe sandbox></iframe> <!-- locked down: scripts disabled, etc. -->
<iframe sandbox="allow-scripts allow-forms allow-popups"></iframe>
Wspólne tokeny:
allow-scripts — pozwól mu uruchamiać JavaScript.allow-forms — pozwól mu przesyłać formularze.allow-same-origin — zachowaj jego źródło (bez tego to źródło null, blokujące magazyn/ciasteczka).allow-popups, allow-modals, allow-top-navigation.Uwaga bezpieczeństwa: połączenie allow-scripts i allow-same-origin pozwala ramce usunąć własny sandbox, jeśli ma to samo źródło — unikaj tej kombinacji dla niezaufanej treści.
<iframe
referrerpolicy="no-referrer"
allow="camera 'none'; geolocation 'none'"
></iframe>
Iframy osadzają treści od stron trzecich lub generowane przez użytkowników, których nie kontrolujesz i nie powinieneś w pełni ufać. sandbox (domyślnie odmawiaj, pozwól tylko na to, co potrzebne) plus referrerpolicy/allow pozwala ci zamknąć tę treść — zapobiegając uruchamianiu niezamierzonych skryptów, nawigacji po twojej stronie lub dostępowi do funkcji urządzenia.
Dodaj title dla dostępności i loading="lazy" dla wydajności.