Apa perbedaan antara sesi dan cookie di php?

Di PHP, informasi pengunjung yang ditujukan untuk digunakan di seluruh situs dapat disimpan dalam sesi atau cookie. Keduanya mencapai banyak hal yang sama. Perbedaan utama antara cookie dan sesi adalah bahwa informasi yang disimpan dalam cookie disimpan di browser pengunjung, dan informasi yang disimpan dalam sesi tidak disimpan di server web. Perbedaan ini menentukan apa yang paling cocok untuk masing-masing

Situs web Anda dapat diatur untuk menempatkan cookie di komputer pengguna. Cookie tersebut menyimpan informasi di mesin pengguna sampai informasi tersebut dihapus oleh pengguna. Seseorang mungkin memiliki nama pengguna dan kata sandi ke situs web Anda. Informasi tersebut dapat disimpan sebagai cookie di komputer pengunjung, sehingga dia tidak perlu masuk ke situs web Anda pada setiap kunjungan. Penggunaan umum cookie termasuk otentikasi, penyimpanan preferensi situs, dan item keranjang belanja. Meskipun Anda dapat menyimpan hampir semua teks dalam cookie browser, pengguna dapat memblokir cookie atau menghapusnya kapan saja. Jika, misalnya, keranjang belanja situs web Anda menggunakan cookie, pembeli yang memblokir cookie di browser mereka tidak dapat berbelanja di situs web Anda

Cookie dapat dinonaktifkan atau diedit oleh pengunjung. Jangan gunakan cookie untuk menyimpan data sensitif

Informasi Sesi Berada di Server Web

Sesi adalah informasi sisi server yang dimaksudkan hanya ada selama interaksi pengunjung dengan situs web. Hanya pengidentifikasi unik yang disimpan di sisi klien. Token ini diteruskan ke server web saat browser pengunjung meminta alamat HTTP Anda. Token tersebut mencocokkan situs Anda dengan informasi pengunjung saat pengguna berada di situs Anda. Saat pengguna menutup situs web, sesi berakhir, dan situs web Anda kehilangan akses ke informasi tersebut. Jika Anda tidak memerlukan data permanen, sesi biasanya merupakan cara yang tepat. Mereka sedikit lebih mudah digunakan, dan ukurannya bisa sebesar yang dibutuhkan, dibandingkan dengan cookie, yang relatif kecil

Sesi tidak dapat dinonaktifkan atau diedit oleh pengunjung.   

Jadi, jika Anda memiliki situs yang memerlukan login, informasi tersebut lebih baik disajikan sebagai cookie, atau pengguna akan dipaksa untuk login setiap kali dia berkunjung. Jika Anda lebih memilih keamanan yang lebih ketat dan kemampuan untuk mengontrol data dan kapan data tersebut habis masa berlakunya, sesi berfungsi paling baik

Anda tentu saja bisa mendapatkan yang terbaik dari kedua dunia. Ketika Anda mengetahui fungsinya masing-masing, Anda dapat menggunakan kombinasi cookie dan sesi untuk membuat situs Anda berfungsi persis seperti yang Anda inginkan.

Kutip Artikel ini

Format

Kutipan Anda

Bradley, Angela. "Perbedaan Antara Cookie PHP dan Sesi. "PikirCo. https. // www. thinkco. com/the-difference-between-cookies-and-sessions-2693956 (diakses 24 Januari 2023)

Perbedaan Utama antara Sesi dan Cookie adalah bahwa Cookie disimpan di mesin sisi klien, Sedangkan Sesi disimpan di sisi klien dan juga sisi server. Keduanya digunakan untuk menyimpan informasi

Cookie disimpan di browser sebagai format file teks. Itu disimpan membatasi jumlah data. Itu hanya memungkinkan 4kb [4096bytes]. Itu tidak memegang banyak variabel dalam cookie

Sesi disimpan di sisi server. Itu disimpan jumlah data yang tidak terbatas. Itu memegang beberapa variabel dalam sesi. kami tidak dapat mengakses nilai cookie dengan mudah. Jadi lebih aman

Apa perbedaan antara sesi dan cookie di php?
CookiesSessionsCookies disimpan di browser sebagai format file teks. Sesi disimpan di sisi server. Itu disimpan membatasi jumlah data. Jumlah data yang tidak terbatas disimpan, hanya memungkinkan 4kb [4096bytes]. Itu memegang beberapa variabel dalam sesi. Itu tidak memegang banyak variabel dalam cookie. Itu memegang beberapa variabel dalam sesi. kita dapat mengakses nilai cookie dengan mudah. Jadi kurang aman. kami tidak dapat mengakses nilai sesi dengan mudah. Jadi lebih aman. mengatur waktu cookie untuk kedaluwarsa cookie. menggunakan session_destory(), kami akan menghancurkan sesi. Fungsi setcookie() harus muncul SEBELUM tag. Fungsi session_start() harus menjadi hal pertama dalam dokumen Anda. Sebelum tag HTML apa pun

Contoh Kue

Contoh Kue

Contoh Sesi

Contoh Sesi



Magenet adalah Alternatif Adsense terbaik di sini kami mendapat $ 2 untuk satu tautan, Di sini kami mendapatkan iklan tautan. Magnet

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

Apa perbedaan antara sesi dan cookie di php?

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-

  • 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

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

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

Apa perbedaan antara sesi dan cookie di php?

Catatan. Hanya array kosong yang ditampilkan

  • Langkah 2 – Browser ke URL http. //localhost/phptuts/cookies. php

Apa perbedaan antara sesi dan cookie di php?

  • Langkah 3 – Beralih kembali ke tab pertama lalu klik tombol segarkan

Apa perbedaan antara sesi dan cookie di php?

Tunggu sebentar lalu klik tombol segarkan lagi. Hasil apa yang Anda dapatkan?

  • 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
<?php

 setcookie("user_name", "Guru99", time() - 360,'/');

?>
  • 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

Cookie adalah file sisi klien di komputer lokal yang menyimpan informasi pengguna. Sesi adalah file sisi server yang berisi data pengguna . Cookie berakhir pada masa hidup yang ditetapkan oleh pengguna. Saat pengguna keluar dari browser atau keluar dari program, sesi selesai.
Cookie adalah file sisi klien yang disimpan di komputer lokal dan berisi informasi pengguna. Sesi adalah file sisi server yang menyimpan informasi pengguna . Cookie kedaluwarsa setelah masa hidup yang ditentukan pengguna. Sesi berakhir ketika pengguna menutup browser atau keluar dari program.
Anda juga dapat masuk tanpa Cookie hanya dengan Id Sesi dan Waktu, tetapi Anda harus menulis keduanya langsung di Database Anda setelah Berhasil Masuk . saya ada di index. php sesuatu seperti ini yang akan selalu menghasilkan id sesi baru berdasarkan waktu dan id sesi lama jika kondisinya tidak diverifikasi. jika ($_SESSION['id']. =
Tidak ada cookie dalam permintaan terminal seluler. Session ID bergantung pada cookie, sehingga session ID tidak dapat diterima oleh cookie. Token tidak menyimpan sesi di penyimpanan lokal server, sehingga sangat dapat diskalakan . Token digunakan di sebagian besar aplikasi seluler.