Digital Transformation

X-Frame-Options (Header HTTP)

Vito Atmo
Vito Atmo·4 Mei 2026·1 kali dibaca·3 min baca

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-ancestors di 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

NilaiPerilakuKasus pakai
DENYTidak boleh di-iframe oleh siapapunHalaman login, checkout, dashboard admin
SAMEORIGINHanya boleh di-iframe oleh domain yang samaAplikasi internal, preview di subdomain sendiri
ALLOW-FROM uriHanya domain tertentu boleh meng-iframeSudah 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.

Bagikan