Semua artikel

Cookie: bagaimana sepotong kecil teks menyimpan status sesi

Undang-Undang Pelindungan Data Pribadi (UU PDP) Indonesia, yang disahkan tahun 2022 dan mulai berlaku penuh sejak akhir 2024, mewajibkan persetujuan (consent) yang eksplisit sebelum data pribadi diproses — dan identifier yang tersimpan dalam cookie iklan atau analitik, jika bisa dikaitkan dengan perilaku pengguna tertentu, termasuk dalam cakupan ini. Berbeda dari GDPR Eropa yang sudah bertahun-tahun ditegakkan, UU PDP masih dalam masa transisi, sehingga banyak situs Indonesia baru mulai menambahkan banner consent cookie dalam beberapa tahun terakhir.

Atribut Secure

Atribut Secure memberi tahu browser untuk hanya mengirim cookie lewat koneksi HTTPS yang terenkripsi. Tanpa ini, cookie bisa dikirim dalam teks polos lewat HTTP — risiko yang nyata di jaringan Wi-Fi publik seperti di kafe atau mal.

Atribut HttpOnly

Cookie yang ditandai HttpOnly tidak bisa dibaca dari JavaScript (document.cookie). Ini pertahanan paling langsung terhadap pencurian sesi lewat serangan XSS: meski penyerang berhasil menyuntikkan skrip berbahaya ke halaman, mereka tetap tidak bisa mengakses cookie sesi dengan atribut ini.

Atribut SameSite

Atribut SameSite membatasi apakah cookie dikirim saat navigasi lintas situs, dan menjadi pertahanan utama terhadap serangan CSRF. Strict memblokir sepenuhnya pengiriman lintas situs, Lax — nilai default di semua browser modern saat ini — mengizinkannya pada kasus seperti mengikuti tautan, dan None menghapus batasan itu tapi mewajibkan atribut Secure juga.

Untuk apa ini dibutuhkan

  • Mengonfigurasi cookie sesi yang aman untuk aplikasi web Anda sendiri — di framework Laravel, yang sangat populer di kalangan developer Indonesia, konfigurasi config/session.php menentukan atribut secure dan same_site ini secara langsung.
  • Memeriksa cookie pihak ketiga apa saja yang benar-benar dimuat situs sebelum menyusun kebijakan sesuai UU PDP.
  • Mendiagnosis mengapa cookie tidak disimpan atau dikirim browser dalam skenario tertentu.

Atribut Partitioned dan masa depan tanpa cookie pihak ketiga

Sebagai bagian dari inisiatif CHIPS (Cookies Having Independent Partitioned State), atribut Partitioned memungkinkan situs yang tertanam dalam <iframe> memiliki versi cookie yang berbeda untuk setiap situs induk yang menampungnya, bukan satu cookie yang dibagikan ke semuanya. Ini kompromi antara memblokir cookie pihak ketiga sepenuhnya — yang merusak widget legit seperti pembayaran atau chat — dan model pelacakan lintas situs lama, di mana satu cookie iklan bisa mengikuti pengguna ke seluruh web.

Coba alat