Variabel $_COOKIE


Cookie sering digunakan untuk mengidentifikasi pengguna yang mengunjungi sebuah website. Berbeda dengan Session yang tidak menyimpan informasinya dalam komputer pengguna. Cookie adalah sebuah file kecil yang disematkan dan disimpan pada komputer pengguna oleh server. Ketika kita telah mengatur cookie dan menyimpan informasi pengguna pada komputernya, maka setiap kali komputer yang sama meminta halaman melalui browser, ia akan mengirimkan cookie juga. Dengan PHP, kita bisa membuat dan mengambil nilai cookie.

Pada umumnya cookie menyimpan pengaturan atau preferensi pengguna untuk website tertentu, misalnya bahasa yang dipilih, atau lokasi (negara) pengguna. Ketika pengguna kembali ke situs web tersebut dengan identifikasi yang sesuai, Browser akan mengirimkan cookie yang sesuai kepada situs web yang bersangkutan. Dengan cara ini, situs dapat menampilkan informasi yang sesuai dengan pengaturan atau preferensi pengguna.

Untuk dapat membuat dan membentuk cookie, kita sebuah fungsi yaitu dengan sintak setcookie(). Secara umum, pembentukan cookie dapat dijelaskan seperti sintak dibawah ini.

<?php

setcookie(nama, nilai, kedaluwarsa, path, domain, keamanan, httponly);

?>

  • nama : Menentukan nama cookie
  • nilai : Menentukan nilai cookie
  • kedaluwarsa : Menentukan (dalam detik) kapan cookie kadaluarsa. Contoh: time() + 86400 * 30, akan mengatur agar cookie kadaluarsa dalam 30 hari. Jika parameter ini dihilangkan atau disetel ke 0, cookie akan kadaluarsa pada akhir sesi (saat browser ditutup). Default adalah 0.
  • path : Menentukan jalur server cookie. Jika disetel ke "/", cookie akan tersedia di dalam keseluruhan domain. Jika diset ke "/ php /", cookie hanya akan tersedia di dalam direktori php dan semua sub-direktori php. Nilai default adalah direktori saat ini dimana cookie sedang diatur.
  • domain : Menentukan nama domain cookie. Untuk membuat cookie tersedia di semua subdomain example.com, setel domain menjadi "example.com".
  • keamanan : Menentukan apakah cookie hanya boleh dikirim melalui koneksi HTTPS yang aman. TRUE menunjukkan bahwa cookie hanya akan ditetapkan jika ada koneksi aman. Default adalah FALSE.
  • httponly : Jika disetel ke TRUE, cookie hanya dapat diakses melalui protokol HTTP (cookie tidak akan dapat diakses ke bahasa scripting). Menggunakan httponly membantu mengurangi pencurian identitas dengan menggunakan serangan XSS. Default adalah FALSE.

Pada penjelasan diatas, satu-satunya yang wajib adalah parameter nama cookie. Selain itu, parameter bersifat opsional atau boleh diabaikan. Jika parameter selain nama cookie tidak disetel nilainya, maka semuanya akan kembali pada nilai default.

Untuk lebih jelas dalam pembuatan cookie, mari kita buat contoh kasus. Saya akan membuat contoh pembuatan cookie dengan nama cookie "pengguna" dan memiliki nilai "Bambang Subandono", dengan masa kedaluwarsa 30 hari. Perhatikan sintak dibawah ini.

<?php

$nilai = "Bambang Subandono";

setcookie("pengguna", $nilai, time() + (86400 * 30), '/');

if(isset($_COOKIE['pengguna'])) {
  echo $_COOKIE['pengguna'];
}

//Hasil: Bambang Subandono

?>

Fungsi setcookie() harus dituliskan SEBELUM tag <html>. Nilai cookie secara otomatis dikodekan saat cookie dikirim, dan secara otomatis diterjemahkan saat diterima. Ingatlah, JANGAN PERNAH menyimpan informasi sensitif dalam cookies karena itu akan berbahasa untuk keamanan privasi.

Sekiranya hanya itulah yang dapat kita pelajari mengenai Variabel Superglobal $_COOKIE. Semog tulisan ini dapat menambah pengetahuan, wawasan, dan memberikan manfaat untuk kita semua.


Variabel $_SESSION    -    Menulis Kedalam Sebuah File dengan PHP


Berikan Komentar Anda