Setelah server web mengirimkan halaman web ke browser, koneksi dimatikan dan semua informasi yang disimpan oleh server hilang. Ini membuat mempertahankan status pengguna menjadi sulit, karena kami tidak dapat merujuk ke server untuk nilai khusus untuk aktivitas browser pengguna saat ini. Cookie mengatasi kendala ini dengan menyimpan informasi yang diperlukan di komputer pengguna dalam bentuk string nama=nilai Show Cookie sering digunakan untuk menyimpan nama pengguna, preferensi, token autentikasi, dan item serupa lainnya Penting untuk menjaga keamanan saat menyimpan informasi sensitif seperti token autentikasi. Cookie dapat dilihat dan dimodifikasi oleh pengguna, berpotensi mengungkap informasi sensitif. Untuk informasi selengkapnya tentang masalah ini, lihat bagian di bawah ini Tetapkan cookieMenetapkan cookie menggunakan sintaks berikut
Mari kita pecahkan ini menjadi komponen-komponennya
Di bawah ini adalah contoh pengaturan cookie menggunakan sintaks ini document.cookie = "username=Max Brown"; Kode di atas akan menyimpan cookie bernama "username" dengan nilai "Max Brown" Catatan. Cookie kedaluwarsa secara otomatis berdasarkan tanggal kedaluwarsa yang dapat diatur dalam kode. Jika tidak ada tanggal kedaluwarsa yang ditetapkan, cookie akan dihapus segera setelah browser ditutup. Bagian selanjutnya mencakup pengaturan tanggal kedaluwarsa untuk cookie Anda Tetapkan tanggal kedaluwarsa untuk cookieSecara default, cookie akan dihapus secara otomatis setelah browser ditutup. Ini mencegah pengguna menggunakan kembali nilai cookie pada kunjungan berikutnya ke halaman Anda. Anda dapat mengesampingkan ini dengan menetapkan tanggal kedaluwarsa untuk cookie Anda. Hal ini dapat dilakukan dengan mudah dengan menambahkan expireds=expirationDate di UTC yang dipisahkan dengan titik koma dari nama=nilai, seperti yang terlihat pada contoh berikut document.cookie = "username=Max Brown; expires=Wed, 05 Aug 2020 23:00:00 UTC";_ Contoh di atas menyetel cookie "nama pengguna" menjadi "Max Brown" seperti sebelumnya, tetapi juga menambahkan tanggal kedaluwarsa Rabu, 5 Agustus 2020, dengan waktu kedaluwarsa 23. 00. 00 UTC. Saat waktu kedaluwarsa ini tercapai, nilai cookie akan dihapus Catatan. UTC adalah standar waktu (waktu universal terkoordinasi) Tetapkan jalur untuk cookieSecara default, cookie diasosiasikan dengan halaman yang menyetelnya. Ini dapat menyebabkan nilai cookie yang sangat mudah dilacak oleh pengguna yang ingin tahu menggunakan alat pengembang. SEPERTI itu, tidak disarankan untuk menyimpan data sensitif di jalur root untuk aplikasi Anda. Sebagai gantinya, Anda dapat memberikan jalur tempat data ini harus disimpan. Sintaks untuk ini adalah sebagai berikut document.cookie = "username=Max Brown; expires=Wed, 05 Aug 2020 23:00:00 UTC; path=/" Pada contoh di atas, kami telah menyetel cookie "nama pengguna" kami dengan nilai "Max Brown", dan menyetel kedaluwarsa ke tanggal yang sama seperti sebelumnya. Perbedaannya adalah parameter jalur, yang mengubah tempat cookie disimpan di mesin pengguna. Ini sangat berguna saat mencoba menyimpan informasi sensitif, karena membuat informasi lebih sulit ditemukan fungsi setCookieSemua contoh di atas meng-hard-code nilai cookie, yang akan menjadi utilitas terbatas dalam banyak kasus. Nilai cookie juga dapat diatur menggunakan fungsi JavaScript. Ambil kode berikut misalnya let username = 'Max Brown'; // Set a Cookie function setCookie(cName, cValue, expDays) { let date = new Date(); date.setTime(date.getTime() + (expDays * 24 * 60 * 60 * 1000)); const expires = "expires=" + date.toUTCString(); document.cookie = cName + "=" + cValue + "; " + expires + "; path=/"; } // Apply setCookie setCookie('username', username, 30); Kode ini mendefinisikan sebuah fungsi, setCookie(). Fungsi ini akan membuat cookie dengan nama "nama pengguna", nilai "Max Brown" dengan tanggal kedaluwarsa 30 hari sejak dibuat. Mari jelajahi fungsi ini baris demi baris
Untuk memperbarui cookie, cukup timpa nilainya di objek cookie. Caranya dengan menyetel cookie baru pada dokumen dengan Nama yang sama, tetapi Nilai yang berbeda. Kode berikut menunjukkan ini dalam tindakan username = 'Jen Brown'; setCookie('username', username, 30);_ Pada kode di atas, kami tidak membuat cookie baru, karena kami sudah memiliki nilai di cookie "nama pengguna" dari "Max Brown". Panggilan ke setCookie() ini menimpa nilai cookie "nama pengguna", mengubahnya dari "Max Brown" menjadi "Jen Brown" Hapus cookieUntuk menghapus cookie, Anda cukup memberikan tanggal kedaluwarsa yang terjadi di masa lalu. Saat browser melihat bahwa cookie telah kedaluwarsa, browser akan menghapus cookie secara otomatis Fakta menyenangkan. penghitungan waktu formal Unix dimulai pada Kamis, 1 Januari 1970 pada tengah malam GMT. Ini dikenal sebagai waktu "Zaman". Stempel waktu dalam bilangan bulat juga dikenal sebagai "milidetik sejak Zaman", atau jumlah milidetik yang telah terjadi sejak 1 Januari 1970 Untuk menghapus cookie apa pun dengan mudah, cukup atur tanggal kedaluwarsanya sebagai stempel waktu Zaman document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/"; Pernyataan ini akan menghapus cookie bernama "nama pengguna" jika ada Beberapa browser tidak mengizinkan penghapusan cookie jika jalurnya tidak ditentukan. Oleh karena itu, penting untuk selalu menentukan jalur saat bekerja dengan cookie Dapatkan cookieMendapatkan semua cookie sangat sederhana. Cookie disimpan sebagai rangkaian string yang dipisahkan oleh titik koma. Anda dapat mengakses nilai ini dengan memanggil dokumen. cookie seperti yang terlihat pada contoh di bawah ini document.cookie = "username=Debra White; path=/"; document.cookie = "userId=wjgye264s; path=/"; let cookies = document.cookie; console.log(cookies); // expected output: username=Debra White; userId=wjgye264s_ Kode di atas menetapkan dua cookie - nama pengguna dan userId, dan mengembalikan nilai cookie ke cookie variabel sebagai string tunggal yang dipisahkan titik koma. Perhatikan bahwa nilai yang dikembalikan tidak menyertakan jalur yang ditentukan Dapatkan kueMengambil nilai satu cookie membutuhkan sedikit kerja keras Pertama, kita akan menulis sebuah fungsi yang dapat menentukan nilai sebuah cookie ketika diberi nama cookie. Ini kode sampel kami function getCookie(cName) { const name = cName + "="; const cDecoded = decodeURIComponent(document.cookie); //to be careful const cArr = cDecoded .split('; '); let res; cArr.forEach(val => { if (val.indexOf(name) === 0) res = val.substring(name.length); }) return res; } Menjelajahi fungsi getCookie() per baris Fungsi getCookie menggunakan nama cookie sebagai parameter, lalu melakukan langkah-langkah berikut
Perlu diingat bahwa dalam banyak kasus, bekerja dengan cookie akan dimulai dengan mengambil nilai cookie, lalu meminta informasi dari pengguna jika cookie yang diminta tidak ditemukan. |