Waktu cookie default di php

Dalam tutorial ini Anda akan belajar cara menyimpan sejumlah kecil informasi di dalam browser pengguna itu sendiri menggunakan cookie PHP

Cookie adalah file teks kecil yang memungkinkan Anda menyimpan sejumlah kecil data (hampir 4KB) di komputer pengguna. Mereka biasanya digunakan untuk melacak informasi seperti nama pengguna yang dapat diambil situs untuk mempersonalisasi halaman saat pengguna mengunjungi situs web di lain waktu.

Tip. Setiap kali browser meminta halaman ke server, semua data dalam cookie secara otomatis dikirim ke server dalam permintaan tersebut

Fungsi setcookie() digunakan untuk mengatur cookie di PHP. Pastikan Anda memanggil fungsi setcookie()_ sebelum output apa pun dihasilkan oleh skrip Anda, jika tidak, cookie tidak akan disetel. Sintaks dasar dari fungsi ini dapat diberikan dengan

setcookie(nama, nilai, kedaluwarsa, jalur, domain, aman);

Parameter fungsi setcookie()_ memiliki arti sebagai berikut

ParameterDeskripsinameNama cookie. valueNilai cookie. Jangan simpan informasi sensitif karena nilai ini disimpan di komputer pengguna. expiresTanggal kedaluwarsa dalam format stempel waktu UNIX. Setelah waktu ini cookie tidak dapat diakses. Nilai default adalah 0.

0Tentukan jalur di server tempat cookie akan tersedia. Jika disetel ke 
_1, cookie akan tersedia di seluruh domain. 
2Tentukan domain tempat cookie tersedia untuk e. g www. contoh. com. 
3Kolom ini, jika ada, menunjukkan bahwa cookie harus dikirim hanya jika terdapat koneksi HTTPS yang aman

Tip. Jika waktu kedaluwarsa cookie disetel ke 0, atau dihilangkan, cookie akan kedaluwarsa pada akhir sesi i. e. saat browser ditutup

Berikut adalah contoh yang menggunakan fungsi setcookie()_ untuk membuat cookie bernama

5 dan menetapkan nilai nilai 
6 ke dalamnya. Ini juga menentukan bahwa cookie akan kedaluwarsa setelah 30 hari (
7)

Catatan. Semua argumen kecuali nama bersifat opsional. Anda juga dapat mengganti argumen dengan string kosong ("") untuk melewati argumen itu, namun untuk melewati argumen kedaluwarsa, gunakan nol (0), karena ini adalah bilangan bulat

Peringatan. Jangan simpan data sensitif dalam cookie karena berpotensi dimanipulasi oleh pengguna jahat. Untuk menyimpan data sensitif dengan aman, gunakan sesi sebagai gantinya


Variabel superglobal PHP

8 digunakan untuk mengambil nilai cookie. Ini biasanya array asosiatif yang berisi daftar semua nilai cookie yang dikirim oleh browser dalam permintaan saat ini, dikunci dengan nama cookie. Nilai cookie individu dapat diakses menggunakan notasi array standar, misalnya untuk menampilkan cookie nama pengguna yang diatur pada contoh sebelumnya, Anda dapat menggunakan kode berikut

Kode PHP pada contoh di atas menghasilkan keluaran berikut

Merupakan praktik yang baik untuk memeriksa apakah cookie disetel atau tidak sebelum mengakses nilainya. Untuk melakukan ini, Anda dapat menggunakan fungsi PHP ________0______9, seperti ini

Anda dapat menggunakan fungsi

0 seperti 
1 untuk melihat struktur array asosiatif 
8 ini, seperti Anda dengan array lain


Anda dapat menghapus cookie dengan memanggil fungsi setcookie() yang sama dengan nama cookie dan nilai apa pun (seperti string kosong), namun kali ini Anda perlu menyetel tanggal kedaluwarsa di masa lalu, seperti yang ditunjukkan pada contoh di bawah ini

Tip. Anda harus melewati jalur, domain, dan argumen lain yang persis sama dengan yang Anda gunakan saat pertama kali membuat cookie untuk memastikan bahwa cookie yang benar telah dihapus

Cookie adalah file teks yang disimpan di komputer klien dan disimpan untuk tujuan pelacakan penggunaan. PHP secara transparan mendukung cookie HTTP

Ada tiga langkah yang terlibat dalam mengidentifikasi pengguna yang kembali −

  • Skrip server mengirimkan sekumpulan cookie ke browser. Misalnya nama, umur, atau nomor identifikasi dll

  • Browser menyimpan informasi ini di mesin lokal untuk digunakan di masa mendatang

  • Ketika lain kali browser mengirimkan permintaan apa pun ke server web, ia mengirimkan informasi cookie tersebut ke server dan server menggunakan informasi itu untuk mengidentifikasi pengguna

Bab ini akan mengajari Anda cara menyetel cookie, cara mengaksesnya, dan cara menghapusnya

Cookie biasanya disetel di header HTTP (walaupun JavaScript juga bisa menyetel cookie langsung di browser). Skrip PHP yang menyetel cookie mungkin mengirim tajuk yang terlihat seperti ini −

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=tutorialspoint.com
Connection: close
Content-Type: text/html

Seperti yang Anda lihat, header Set-Cookie berisi pasangan nilai nama, tanggal GMT, jalur, dan domain. Nama dan nilai akan disandikan URL. Bidang kedaluwarsa adalah instruksi ke browser untuk "melupakan" cookie setelah waktu dan tanggal yang ditentukan

Jika browser dikonfigurasikan untuk menyimpan cookie, informasi ini akan disimpan hingga tanggal kedaluwarsa. Jika pengguna mengarahkan browser ke halaman mana pun yang cocok dengan jalur dan domain cookie, itu akan mengirim ulang cookie ke server. Header browser mungkin terlihat seperti ini −

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc)
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

Skrip PHP kemudian akan memiliki akses ke cookie di variabel lingkungan $_COOKIE atau $HTTP_COOKIE_VARS[] yang menyimpan semua nama dan nilai cookie. Cookie di atas dapat diakses menggunakan $HTTP_COOKIE_VARS["nama"]

Setting Cookies dengan PHP

PHP menyediakan fungsi setcookie() untuk mengatur cookie. Fungsi ini membutuhkan hingga enam argumen dan harus dipanggil sebelum tag. Untuk setiap cookie, fungsi ini harus dipanggil secara terpisah

setcookie(name, value, expire, path, domain, security);

Inilah detail dari semua argumen −

  • Nama − Ini menetapkan nama cookie dan disimpan dalam variabel lingkungan yang disebut HTTP_COOKIE_VARS. Variabel ini digunakan saat mengakses cookie

  • Nilai - Ini menetapkan nilai variabel bernama dan merupakan konten yang sebenarnya ingin Anda simpan

  • Kedaluwarsa - Ini menentukan waktu mendatang dalam detik sejak 00. 00. 00 GMT pada 1 Januari 1970. Setelah waktu ini cookie tidak dapat diakses. Jika parameter ini tidak disetel maka cookie akan kedaluwarsa secara otomatis saat Peramban Web ditutup

  • Path − Ini menentukan direktori yang cookie-nya valid. Satu karakter garis miring memungkinkan cookie berlaku untuk semua direktori

  • Domain − Ini dapat digunakan untuk menentukan nama domain dalam domain yang sangat besar dan harus mengandung setidaknya dua periode agar valid. Semua cookie hanya valid untuk host dan domain yang membuatnya

  • Keamanan - Ini dapat diatur ke 1 untuk menentukan bahwa cookie hanya boleh dikirim melalui transmisi aman menggunakan HTTPS jika tidak diatur ke 0 yang berarti cookie dapat dikirim melalui HTTP biasa

Contoh berikut akan membuat dua nama cookie dan usia cookie ini akan kedaluwarsa setelah satu jam


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

PHP menyediakan banyak cara untuk mengakses cookie. Cara termudah adalah dengan menggunakan variabel $_COOKIE atau $HTTP_COOKIE_VARS. Contoh berikut akan mengakses semua cookie yang diatur dalam contoh di atas

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>

Anda dapat menggunakan fungsi isset() untuk memeriksa apakah cookie disetel atau tidak

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>

Secara resmi, untuk menghapus cookie Anda harus memanggil setcookie() hanya dengan argumen nama tetapi ini tidak selalu berfungsi dengan baik, dan tidak boleh diandalkan

Waktu default untuk Cookie kedaluwarsa adalah 30 menit . Nilai Kedaluwarsa default untuk cookie bukanlah waktu statis, tetapi membuat cookie Sesi. Ini akan tetap aktif sampai pengguna menutup browser mereka/menghapus cookie mereka. Anda dapat mengganti ini sesuai kebutuhan.
Waktu cookie kedaluwarsa. Ini adalah cap waktu Unix jadi dalam hitungan detik sejak zaman. Salah satu cara untuk menyetel ini adalah dengan menambahkan jumlah detik sebelum cookie harus kedaluwarsa ke hasil pemanggilan waktu(). Misalnya, time()+60*60*24*30 akan menyetel cookie kedaluwarsa dalam 30 hari
Anda dapat memperpanjang umur cookie di luar sesi browser saat ini dengan menyetel tanggal kedaluwarsa dan menyimpan tanggal kedaluwarsa di dalam cookie. Hal ini dapat dilakukan dengan menyetel atribut 'expires' ke tanggal dan waktu .
Cookie biasa memiliki tanggal kedaluwarsa yang dinyatakan sebagai string waktu unix. String waktu unix adalah angka 10 digit. Jadi secara teoritis, nilai tertinggi adalah “9999999999”, yaitu sekitar 267 tahun ke depan (per Agustus 2019).