Digital Transformation
iframe sandbox (Atribut Keamanan Iframe)
TL;DR: iframe sandbox adalah atribut HTML pada tag
<iframe>yang mengunci konten di dalamnya supaya tidak bisa menjalankan JavaScript, submit form, akses cookie parent, atau navigasi window utama tanpa izin eksplisit. Atribut ini wajib untuk embed pihak ketiga seperti widget chat, tools open-source, atau preview konten user-generated agar tidak menjadi pintu masuk serangan ke website bisnis.
Apa itu iframe sandbox?
iframe sandbox adalah mekanisme keamanan bawaan browser yang dideklarasikan di atribut sandbox pada elemen <iframe>. Tanpa atribut ini, iframe bisa menjalankan script penuh, mengubah window.top.location, dan mengakses storage parent jika ada celah. Dengan sandbox kosong (sandbox=""), browser mencabut semua kemampuan iframe sampai ditambahkan token izin spesifik. Konsep ini melengkapi [CSP](/glosarium/csp-content-security-policy) dan SRI sebagai lapisan defense-in-depth untuk konten pihak ketiga.
Token Izin Sandbox yang Sering Dipakai
| Token | Fungsi |
|---|---|
allow-scripts | Izinkan JavaScript di iframe |
allow-same-origin | Iframe diperlakukan sebagai origin asli (perlu untuk akses storage) |
allow-forms | Izinkan submit form |
allow-popups | Izinkan window.open |
allow-top-navigation | Izinkan ubah parent URL (jarang aman) |
allow-downloads | Izinkan download file |
Kombinasi allow-scripts allow-same-origin bersamaan harus dihindari untuk konten user-generated, karena praktis menghapus seluruh proteksi sandbox.
Kenapa Penting?
Banyak website bisnis Indonesia memasang widget pihak ketiga, mulai dari chat WhatsApp embed, kalkulator, hingga preview YouTube. Dari pengalaman audit performa dan keamanan beberapa proyek klien Vito Atmo, sebagian besar embed dipasang tanpa atribut sandbox, sehingga skrip pihak ketiga punya akses penuh ke konteks halaman. iframe sandbox adalah cara cepat dan murah untuk membatasi blast radius kalau salah satu vendor terkompromi.
Pertanyaan Umum
Apakah iframe sandbox merusak fungsi widget?
Tidak kalau token izin disesuaikan. Mulai dari sandbox="" lalu tambahkan token satu per satu sampai widget berfungsi normal.
Apakah sandbox menggantikan CSP?
Tidak. CSP melindungi seluruh halaman dari sumber skrip tidak sah, sandbox membatasi konten dalam satu iframe spesifik.
Istilah Terkait