Mengapa kita membutuhkan sesi dan cookie di php?

Saat Anda bekerja dengan aplikasi, Anda membukanya, melakukan beberapa perubahan, lalu menutupnya. Ini sangat mirip dengan Sesi. Komputer tahu siapa Anda. Ia tahu kapan Anda memulai aplikasi dan kapan Anda mengakhiri. Tapi di internet ada satu masalah. server web tidak tahu siapa Anda atau apa yang Anda lakukan, karena alamat HTTP tidak mempertahankan status

Variabel sesi mengatasi masalah ini dengan menyimpan informasi pengguna untuk digunakan di beberapa halaman (mis. g. nama pengguna, warna favorit, dll). Secara default, variabel sesi bertahan hingga pengguna menutup browser

Jadi;

Tip. Jika Anda memerlukan penyimpanan permanen, Anda mungkin ingin menyimpan data dalam database


Mulai Sesi PHP

Sesi dimulai dengan fungsi session_start()

Variabel sesi diatur dengan variabel global PHP. $_SESSION

Sekarang, mari buat halaman baru bernama "demo_session1. php". Di halaman ini, kita memulai sesi PHP baru dan mengatur beberapa variabel sesi

Contoh

// Mulai sesi
session_start();
?>


// Tetapkan variabel sesi
$_SESSION["favcolor"] = "hijau";
$_SESSION["favanimal"] = "kucing";
echo "Variabel sesi ditetapkan. ";
?>


Jalankan contoh »

Catatan. Fungsi session_start() harus menjadi hal pertama dalam dokumen Anda. Sebelum tag HTML apa pun



Dapatkan Nilai Variabel Sesi PHP

Selanjutnya, kami membuat halaman lain yang disebut "demo_session2. php". Dari halaman ini, kami akan mengakses informasi sesi yang kami atur di halaman pertama ("demo_session1. php")

Perhatikan bahwa variabel sesi tidak diteruskan satu per satu ke setiap halaman baru, melainkan diambil dari sesi yang kita buka di awal setiap halaman (session_start())

Perhatikan juga bahwa semua nilai variabel sesi disimpan dalam variabel $_SESSION global

Contoh

session_start();
?>


// Gema variabel sesi yang diatur di halaman sebelumnya
gema "Warna favorit adalah". $_SESSION["favcolor"]. "
";
gema "Binatang favorit adalah". $_SESSION["favanimal"]. ". ";
?>


Jalankan contoh »

Cara lain untuk menampilkan semua nilai variabel sesi untuk sesi pengguna adalah dengan menjalankan kode berikut

Contoh

session_start();
?>


print_r($_SESSION);
?>


Jalankan contoh »

Bagaimana cara kerjanya?

Sebagian besar sesi menyetel kunci pengguna di komputer pengguna yang terlihat seperti ini. 765487cf34ert8dede5a562e4f3a7e12. Kemudian, ketika sebuah sesi dibuka di halaman lain, itu memindai komputer untuk kunci pengguna. Jika ada kecocokan, ia mengakses sesi itu, jika tidak, ia memulai sesi baru

Nilai sesi jauh lebih aman karena disimpan dalam bentuk biner atau terenkripsi dan hanya dapat didekodekan di server. Saat pengguna mematikan mesin atau keluar dari program, nilai sesi dihapus secara otomatis. Kita harus menyimpan nilai dalam database untuk menyimpannya selamanya

2. Kue kering
Cookie adalah file teks kecil yang disimpan di komputer pengguna. Ukuran file maksimum untuk cookie adalah 4KB. Ini juga dikenal sebagai cookie HTTP, cookie web, atau cookie internet. Saat pengguna pertama kali mengunjungi situs web, situs tersebut mengirimkan paket data ke komputer pengguna dalam bentuk cookie

Informasi yang disimpan dalam cookie tidak aman karena disimpan di sisi klien dalam format teks yang dapat dilihat siapa saja. Kami dapat mengaktifkan atau menonaktifkan cookie berdasarkan kebutuhan kami

Sesi dan cookie digunakan oleh berbagai situs web untuk menyimpan data pengguna di berbagai halaman situs. Sesi dan cookie penting karena melacak informasi yang diberikan oleh pengunjung untuk tujuan yang berbeda. Perbedaan utama antara keduanya adalah sesi disimpan di sisi server, sedangkan cookie disimpan di browser pengguna atau sisi klien. Selain itu, ada juga berbagai perbedaan lain di antara keduanya. Dalam topik ini, kita akan memahami penjelasan mendetail tentang sesi dan cookie serta bagaimana keduanya dibedakan satu sama lain

Mengapa kita membutuhkan sesi dan cookie di php?

Apa itu Sesi?

  • Sesi digunakan untuk menyimpan sementara informasi di server untuk digunakan di beberapa halaman situs web. Ini adalah total waktu yang digunakan untuk suatu kegiatan. Sesi pengguna dimulai saat dia masuk ke aplikasi jaringan tertentu dan berakhir saat pengguna keluar dari aplikasi atau mematikan sistem
  • Saat kita mengerjakan aplikasi melalui internet, server web tidak mengetahui pengguna karena protokol HTTP tidak mempertahankan status. Informasi yang diberikan oleh pengguna di satu halaman aplikasi (Katakanlah Beranda) tidak akan ditransfer ke halaman lain. Untuk menghapus batasan ini, sesi digunakan. Sesi dimulai setiap kali pengunjung pertama kali memasuki situs web
  • Informasi pengguna disimpan dalam variabel sesi, dan variabel ini dapat menyimpan semua jenis nilai atau tipe data dari suatu Objek
  • Nilai sesi jauh lebih aman karena disimpan dalam bentuk biner atau bentuk terenkripsi dan hanya dapat didekripsi di server. Nilai sesi dihapus secara otomatis saat pengguna mematikan sistem atau keluar dari aplikasi. Untuk menyimpan nilai secara permanen, kita perlu menyimpannya di database
  • Setiap sesi unik untuk setiap pengguna, dan sejumlah sesi dapat digunakan dalam aplikasi;
  • Pengguna diidentifikasi dengan bantuan sessionID, yang merupakan nomor unik yang disimpan di dalam server. Itu disimpan sebagai cookie, bidang formulir, atau URL

Kerja Sesi

Kerja sesi dapat dipahami dengan bantuan diagram di bawah ini

Mengapa kita membutuhkan sesi dan cookie di php?
  1. Pada langkah pertama, klien meminta ke server melalui metode GET atau POST
  2. sessionID dibuat di server, dan menyimpan sessionID ke dalam database. Itu mengembalikan sessionId dengan cookie sebagai respons terhadap klien
  3. Cookie dengan sessionID yang tersimpan di browser dikirim kembali ke server. Server mencocokkan ini dengan ID sesi yang disimpan dan mengirimkan respons HTTP 200

Mengapa Menggunakan Sesi?

  • Sesi digunakan untuk menyimpan informasi seperti UserID melalui server dengan lebih aman, yang tidak dapat ditempa
  • Itu juga dapat mentransfer informasi dalam bentuk nilai dari satu halaman web ke halaman web lainnya
  • Ini dapat digunakan sebagai alternatif cookie untuk browser yang tidak mendukung cookie untuk menyimpan variabel dengan cara yang lebih aman
  • Cookie adalah file teks kecil yang disimpan di komputer pengguna. Ukuran file maksimum cookie adalah 4KB. Ini juga dikenal sebagai cookie HTTP, cookie web, atau Cookie internet. Setiap kali pengguna mengunjungi situs web untuk pertama kalinya, situs tersebut mengirimkan paket data dalam bentuk cookie ke komputer pengguna
  • Cookie membantu situs web untuk melacak riwayat penjelajahan atau informasi keranjang pengguna saat mereka mengunjungi situs mereka
  • Ini hanya menyimpan tipe data "String".
  • Informasi yang disimpan di dalam cookie tidak aman karena informasi ini disimpan dalam format teks di sisi klien, yang dapat dibaca oleh siapa saja
  • Kami dapat mengaktifkan atau menonaktifkan cookie sesuai kebutuhan
  • Cookie yang dibuat oleh pengguna hanya ditampilkan kepada mereka, dan tidak ada pengguna lain yang dapat melihat cookie tersebut
  • Cookie dibuat dan dibagikan antara server dan browser dengan bantuan header HTTP
  • Jalur penyimpanan cookie ditentukan oleh browser, karena penjelajah Internet biasanya menyimpannya di Folder File Internet Temporal
  • Saat kami mengunjungi saluran YouTube dan mencari beberapa lagu, lain kali saat kami mengunjungi YouTube, cookie membaca riwayat penjelajahan kami dan menampilkan lagu yang mirip atau lagu yang terakhir diputar

Untuk membuat cookie di PHP, kita perlu menggunakan fungsi setcookie(), dan harus muncul sebelum tag. Sintaks fungsi ini diberikan di bawah ini

Sintaksis

Contoh

setcookie("Userid", "1005", "time()+3600");

  • Nama. Ini mendefinisikan nama cookie
  • Nilai. Ini menentukan nilai cookie
  • Berakhir. Ini menentukan waktu kapan cookie akan kedaluwarsa. Jika tidak digunakan atau ditetapkan sebagai 0, cookie akan dihapus pada akhir sesi
  • Jalur. Ini menentukan jalur server cookie. Jika disetel ke "/", cookie akan tersedia dalam domain lengkap
  • Domain. Ini mendefinisikan nama domain cookie. Jika kita mengaturnya "javatpoint. com", ini akan tersedia untuk semua subdomain javatpoint. com
  • Aman. Ini menentukan apakah cookie hanya dikirimkan melalui HTTPS atau tidak. Jika disetel ke True, artinya cookie hanya akan disetel untuk koneksi aman
  • Hanya HTTP. Jika disetel ke TRUE, cookie akan dapat diakses melalui protokol HTTP

HTTP adalah protokol tanpa kewarganegaraan; . Untuk tujuan ini, kita dapat menggunakan Cookie. Ini memungkinkan kami untuk menyimpan informasi di komputer pengguna dan melacak status aplikasi

  • Sesi adalah file sisi server yang menyimpan informasi pengguna, sedangkan Cookie adalah file sisi klien yang berisi informasi pengguna di komputer lokal
  • Sesi bergantung pada cookie, sedangkan Cookie tidak bergantung pada Sesi
  • Sesi berakhir saat pengguna menutup browser atau keluar dari aplikasi, sedangkan Cookie kedaluwarsa pada waktu yang ditentukan
  • Sesi dapat menyimpan data sebanyak yang diinginkan pengguna, sedangkan Cookie memiliki ukuran terbatas 4KB
SessionCookiesSesi menyimpan variabel dan nilainya di dalam file di direktori sementara di server. Cookie disimpan di komputer pengguna sebagai file teks. Sesi berakhir ketika pengguna keluar dari aplikasi atau menutup browser webnya. Cookie berakhir pada masa hidup yang ditetapkan oleh pengguna. Itu dapat menyimpan jumlah data yang tidak terbatas. Itu hanya dapat menyimpan data terbatas. Kami dapat menyimpan data sebanyak yang kami inginkan dalam satu sesi, tetapi ada batas memori maksimum, yang dapat digunakan skrip pada satu waktu, dan itu adalah 128 MB. Ukuran maksimum cookie browser adalah 4 KB. Kita perlu memanggil fungsi session_start() untuk memulai sesi. Kami tidak perlu memanggil fungsi untuk memulai cookie karena disimpan di dalam komputer lokal. Di PHP, untuk mengatur data sesi, variabel global $_SESSION digunakan. Di PHP, untuk mendapatkan data dari cookie, variabel global $_COOKIE digunakan. Di PHP, untuk menghancurkan atau menghapus data yang disimpan dalam suatu sesi, kita dapat menggunakan fungsi session_destroy(), dan untuk menghapus variabel tertentu, kita dapat menggunakan fungsi unset(). Kami dapat menetapkan tanggal kedaluwarsa untuk menghapus data cookie. Ini akan secara otomatis menghapus data pada waktu tertentu. Tidak ada fungsi khusus untuk menghapus data. Sesi lebih aman dibandingkan dengan cookie, karena menyimpan data dalam bentuk terenkripsi. Cookie tidak aman, karena data disimpan dalam file teks, dan jika ada pengguna yang tidak sah mendapatkan akses ke sistem kami, dia dapat merusak data tersebut

Kesimpulan

Dari pembahasan di atas, kita dapat memiliki pemahaman yang lebih baik tentang cookie dan sesi serta perbedaan di antara keduanya. Oleh karena itu, dapat disimpulkan bahwa sesi adalah cara untuk menyimpan sementara informasi pengguna di sisi server, sedangkan cookie menyimpan informasi di komputer pengguna hingga kedaluwarsa.

Sesi adalah variabel global yang disimpan di server. Setiap sesi diberi id unik yang digunakan untuk mengambil nilai yang disimpan. Sesi memiliki kapasitas untuk menyimpan data yang relatif besar dibandingkan dengan cookie . Nilai sesi secara otomatis dihapus saat browser ditutup.
Cookie sesi memungkinkan situs web untuk mengingat pengguna di dalam situs web saat mereka berpindah antar halaman web . Cookie ini memberi tahu server halaman apa yang harus ditampilkan kepada pengguna sehingga pengguna tidak perlu mengingat di mana mereka tinggalkan atau mulai menavigasi situs lagi. Oleh karena itu, tanpa cookie sesi, situs web tidak memiliki memori.

Mengapa kita membutuhkan sesi di PHP?

Sesi adalah cara untuk menyimpan informasi (dalam variabel) untuk digunakan di beberapa halaman . Tidak seperti cookie, informasi tidak disimpan di komputer pengguna.
Biasanya sesi menggunakan cookie untuk menyimpan data, tetapi jika cookie dinonaktifkan pada pengaturan browser maka sesi PHP juga dapat berfungsi tanpa cookie .