Cookie, atau cookie browser, adalah bagian kecil dari data yang diminta server web untuk disimpan oleh browser web klien. Setiap permintaan kembali ke server akan menyertakan potongan data ini. Data diatur sebagai pasangan kunci/nilai
Cookie dapat diatur menggunakan fungsi _setcookie() PHP
Pada permintaan mendatang, pasangan kunci/nilai cookie akan ditetapkan ke $_COOKIE superglobal
Selain argumen $name dan 0, setcookie() juga menerima banyak argumen lain untuk konfigurasi
Banyak dari argumen konfigurasi ini penting untuk mencegah serangan seperti Pencurian dan Manipulasi Cookie, Pembajakan Sesi, dan Fiksasi Sesi
Cookie PHP adalah sepotong kecil informasi yang disimpan di browser klien. Ini digunakan untuk mengenali pengguna
Cookie dibuat di sisi server dan disimpan ke browser klien. Setiap kali klien mengirim permintaan ke server, cookie disematkan dengan permintaan. Dengan demikian, cookie dapat diterima di sisi server
Singkatnya, cookie dapat dibuat, dikirim dan diterima di ujung server
Catatan. Cookie PHP harus digunakan sebelum tag
fungsi PHP setcookie()
Fungsi PHP setcookie() digunakan untuk mengatur cookie dengan respons HTTP. Setelah cookie disetel, Anda dapat mengaksesnya dengan variabel superglobal $_COOKIE
Cookie adalah file kecil dengan ukuran maksimum 4KB yang disimpan server web di komputer klien
Setelah cookie ditetapkan, semua permintaan halaman yang mengikuti mengembalikan nama dan nilai cookie
Cookie hanya dapat dibaca dari domain asalnya. Misalnya, set cookie menggunakan domain www. guru99. com tidak bisa dibaca dari domain career. guru99. com
Sebagian besar situs web di internet menampilkan elemen dari domain lain seperti periklanan. Domain yang menyajikan elemen ini juga dapat menyetel cookie mereka sendiri. Ini dikenal sebagai cookie pihak ketiga
Cookie yang dibuat oleh pengguna hanya dapat dilihat oleh mereka. Pengguna lain tidak dapat melihat nilainya
Sebagian besar browser web memiliki opsi untuk menonaktifkan cookie, cookie pihak ketiga, atau keduanya
Jika demikian, maka PHP merespons dengan meneruskan token cookie di URL
Diagram yang ditunjukkan di bawah mengilustrasikan cara kerja cookie
Di Sini,
1) Pengguna meminta halaman yang menyimpan cookie
2) Server menyetel cookie di komputer pengguna
3) Permintaan halaman lain dari pengguna akan mengembalikan nama dan nilai cookie
Dalam tutorial ini, Anda akan belajar-
Mengapa dan kapan menggunakan Cookie?
- Http adalah protokol tanpa kewarganegaraan; . Jalur penyimpanan cookie bergantung pada browser. Internet Explorer biasanya menyimpannya di folder Temporary Internet Files
- Personalisasi pengalaman pengguna – ini dicapai dengan memungkinkan pengguna memilih preferensi mereka. Halaman yang diminta untuk mengikuti dipersonalisasi berdasarkan preferensi yang ditetapkan dalam cookie
- Melacak halaman yang dikunjungi oleh pengguna
Membuat Cookie
Sekarang mari kita lihat sintaks dasar yang digunakan untuk membuat cookie
<?php setcookie(cookie_name, cookie_value, [expiry_time], [cookie_path], [domain], [secure], [httponly]); ?>_DI SINI,
- Php“setcookie” adalah fungsi PHP yang digunakan untuk membuat cookie
- “cookie_name” adalah nama cookie yang akan digunakan server saat mengambil nilainya dari variabel array $_COOKIE. Itu wajib
- “cookie_value” adalah nilai cookie dan bersifat wajib
- “[expiry_time]” bersifat opsional; . Waktu diatur menggunakan fungsi PHP time() plus atau minus beberapa detik lebih besar dari 0 i. e. waktu() + 3600 selama 1 jam
- “[cookie_path]” bersifat opsional; . Garis miring “/” berarti cookie akan tersedia di seluruh domain. Sub direktori membatasi akses cookie ke subdomain
- “[domain]” bersifat opsional, dapat digunakan untuk menentukan hierarki akses cookie i. e. <?php setcookie("user_name", "Guru99", time()+ 60,'/'); // expires after 60 seconds echo 'the cookie has been set for 60 seconds'; ?>0 berarti seluruh domain sementara <?php setcookie("user_name", "Guru99", time()+ 60,'/'); // expires after 60 seconds echo 'the cookie has been set for 60 seconds'; ?>1 membatasi akses cookie ke <?php setcookie("user_name", "Guru99", time()+ 60,'/'); // expires after 60 seconds echo 'the cookie has been set for 60 seconds'; ?>1 dan sub domainnya. Perhatikan itu mungkin untuk memiliki subdomain dari subdomain asalkan total karakter tidak melebihi 253 karakter
- “[aman]” adalah opsional, standarnya salah. Ini digunakan untuk menentukan apakah cookie dikirim melalui https jika disetel ke true atau http jika disetel ke false
- “[Httponly]” adalah opsional. Jika disetel ke true, maka hanya bahasa skrip sisi klien i. e. JavaScript tidak dapat mengaksesnya
Catatan. fungsi cookie set php harus dijalankan sebelum tag pembuka HTML
Sekarang mari kita lihat contoh yang menggunakan cookie
Kami akan membuat program dasar yang memungkinkan kami menyimpan nama pengguna dalam cookie yang kedaluwarsa setelah sepuluh detik
Kode di bawah ini menunjukkan implementasi dari contoh di atas “cookies. php”
<?php setcookie("user_name", "Guru99", time()+ 60,'/'); // expires after 60 seconds echo 'the cookie has been set for 60 seconds'; ?>Keluaran
the cookie has been set for 60 seconds _Mengambil nilai Cookie
Buat file lain bernama “cookies_read. php” dengan kode berikut
<?php print_r($_COOKIE); //output the contents of the cookie array variable ?>Keluaran
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )Catatan. $_COOKIE adalah variabel super global bawaan PHP
Ini berisi nama dan nilai dari semua cookie yang ditetapkan
Jumlah nilai yang
Array $_COOKIE dapat berisi tergantung pada ukuran memori yang diatur dalam php. ini
Nilai default adalah 1GB
Menguji aplikasi kami
Anggaplah Anda telah menyimpan file PHP Anda di folder phptus
- Langkah 1 – buka browser web Anda dan masukkan URL http. //localhost/phptuts/cookies_read. php
Catatan. Hanya array kosong yang ditampilkan
- Langkah 2 – Browser ke URL http. //localhost/phptuts/cookies. php
- Langkah 3 – Beralih kembali ke tab pertama lalu klik tombol segarkan
Tunggu sebentar lalu klik tombol segarkan lagi. Hasil apa yang Anda dapatkan?
Hapus Cookie
- Jika Anda ingin menghancurkan cookie sebelum waktu kedaluwarsanya, maka Anda mengatur waktu kedaluwarsa ke waktu yang telah berlalu.
- Buat field baru bernama penghancuran cookie. php dengan kode berikut
- Ulangi langkah 1 hingga 3 dari bagian di atas untuk mengambil nilai cookie
- Buka URL http. //localhost/phptuts/cookie_destroy. php
- Beralih ke URL http. //localhost/phptuts/cookies_read. php hasil apa yang ditampilkan?
Apa itu Sesi?
- Sesi adalah variabel global yang disimpan di server
- Setiap sesi diberi id unik yang digunakan untuk mengambil nilai yang disimpan
- Setiap kali sesi dibuat, cookie yang berisi id sesi unik disimpan di komputer pengguna dan dikembalikan dengan setiap permintaan ke server. Jika browser klien tidak mendukung cookie, id sesi php unik ditampilkan di URL
- Sesi memiliki kapasitas untuk menyimpan data yang relatif besar dibandingkan dengan cookie
- Nilai sesi secara otomatis dihapus saat browser ditutup. Jika Anda ingin menyimpan nilai secara permanen, maka Anda harus menyimpannya di database
- Sama seperti variabel array $_COOKIE, variabel sesi disimpan dalam variabel array $_SESSION. Sama seperti cookie, sesi harus dimulai sebelum tag HTML apa pun
Mengapa dan kapan menggunakan Sesi?
- Anda ingin menyimpan informasi penting seperti id pengguna dengan lebih aman di server tempat pengguna jahat tidak dapat marah dengan mereka
- Anda ingin meneruskan nilai dari satu halaman ke halaman lainnya
- Anda menginginkan alternatif cookie pada browser yang tidak mendukung cookie
- Anda ingin menyimpan variabel global dengan cara yang efisien dan lebih aman dibandingkan dengan meneruskannya di URL
- Anda sedang mengembangkan aplikasi seperti keranjang belanja yang harus menyimpan informasi sementara dengan kapasitas lebih besar dari 4KB
Membuat Sesi
Untuk membuat sesi, pertama-tama Anda harus memanggil fungsi session_start PHP dan kemudian menyimpan nilai Anda dalam variabel array $_SESSION
Misalkan kita ingin mengetahui berapa kali halaman telah dimuat, kita dapat menggunakan sesi untuk melakukannya