Digital Transformation
X-Frame-Options (Header HTTP)
TL;DR: X-Frame-Options adalah header HTTP yang memberi tahu browser apakah halaman web boleh ditampilkan di dalam iframe atau embed dari domain lain. Header ini mencegah serangan clickjacking, yaitu teknik di mana penyerang menumpuk halaman website Anda di belakang elemen palsu untuk menjebak klik pengguna. Per 2026, header ini sudah banyak digantikan fungsinya oleh
frame-ancestorsdi Content Security Policy, tapi masih berguna sebagai lapisan kompatibilitas untuk browser lama.
Apa itu X-Frame-Options?
X-Frame-Options adalah salah satu header keamanan HTTP yang dikirim server ke browser bersama respons halaman. Browser membaca header ini sebelum mengizinkan halaman dirender di dalam tag <iframe>, <frame>, atau <embed>. Tanpa header ini, halaman pembayaran atau dashboard admin Anda bisa di-iframe oleh website penyerang dan ditumpuk dengan tombol palsu, sehingga klik pengguna mendarat di tombol asli yang tersembunyi. Pola serangan ini disebut clickjacking.
Secara praktis, header ini mirip pengaman pintu kantor: hanya orang dari ruangan yang Anda izinkan yang boleh "mengintip" lewat jendela. Untuk konteks lebih luas tentang lapisan keamanan website, lihat HSTS dan Permissions-Policy.
Tiga Nilai Utama dan Kapan Memakainya
| Nilai | Perilaku | Kasus pakai |
|---|---|---|
DENY | Tidak boleh di-iframe oleh siapapun | Halaman login, checkout, dashboard admin |
SAMEORIGIN | Hanya boleh di-iframe oleh domain yang sama | Aplikasi internal, preview di subdomain sendiri |
ALLOW-FROM uri | Hanya domain tertentu boleh meng-iframe | Sudah deprecated, hindari |
ALLOW-FROM tidak didukung browser modern seperti Chrome dan Edge per spesifikasi MDN. Untuk kebutuhan whitelist multi-domain, gunakan direktif frame-ancestors di CSP. Lebih lengkap di dokumentasi MDN tentang X-Frame-Options.
Kenapa Penting untuk Bisnis Indonesia?
Website e-commerce dan SaaS lokal sering mengabaikan header ini. Saat membantu audit keamanan beberapa toko online di awal 2026, saya menemukan halaman checkout yang bisa di-iframe dari domain manapun. Risikonya nyata: penyerang membuat halaman promo palsu yang mengambil sesi login pengguna lewat klik tersembunyi di tombol checkout asli. Memasang header ini hanya butuh satu baris konfigurasi di Nginx atau di next.config.ts untuk Next.js, tapi menutup kelas serangan yang sulit dideteksi pengguna awam.
Pertanyaan Umum
Apakah X-Frame-Options sudah usang?
Belum sepenuhnya. Browser modern memprioritaskan frame-ancestors di CSP, tapi X-Frame-Options tetap dibaca sebagai fallback. Praktik standar 2026 adalah memasang keduanya untuk kompatibilitas.
Apakah header ini memengaruhi SEO?
Tidak langsung. Tapi karena clickjacking bisa menyebabkan pengambilalihan akun dan keluhan pengguna, dampaknya ke trust signal dan retensi pengunjung tetap ada.
Istilah Terkait