PHP menyimpan ID sesi pengguna dalam cookie, sehingga dapat menentukan kumpulan data sesi mana yang harus dimuat sesuai kebutuhan. Tetapi bagaimana jika cookie pengguna dimatikan? . Untuk mengaktifkan kemampuan itu, setel sesi. item use_trans_sid di php. ini ke 1 (Anda juga dapat menentukan bahwa PHP hanya menggunakan cookie untuk ID sesi dengan mengaktifkan session. use_only_cookies) Show ; trans sid support is disabled by default. ; Use of trans sid may risk your users security. ; Use this option with caution. ; - User may send URL contains active session ID ; to other person via. email/irc/etc. ; - URL that contains active session ID may be stored ; in publically accessible computer. ; - User may access your site with the same session ID ; always using URL stored in browser's history or bookmarks. session.use_trans_sid = 0 Dengan cara ini, URL pengguna akan terlihat seperti ini script.php?PHPSESSID=322fe03120041e6c5285480a4fbf1037_ Item ini, sesi. use_trans_sid, dinonaktifkan secara default karena mencantumkan ID sesi secara eksplisit seperti ini merupakan masalah keamanan. Jadi bagaimana jika pengguna mematikan cookie dan sesi. use_trans_sid dimatikan juga? . Anda melakukannya dengan menyimpan ID sesi, yang bisa Anda dapatkan dengan fungsi session_id, dalam variabel tersembunyi bernama PHPSESSID, seperti yang ditunjukkan pada phpsessionnocookies. php, Contoh 9-16 Contoh 9-16. Melewati ID sesi tanpa cookie, phpsessionnocookies. phpStoring data in sessions without cookies Storing data in sessions without cookies Stored the temperature as 72 degrees. Anda dapat melihat halaman ini bekerja pada Gambar 9-15 Gambar 9-15. Menangani sesi tanpa cookieTidak diperlukan pemrograman lebih lanjut untuk mengambil ID sesi di halaman target, phpsession2. php, yang tidak berubah dari Contoh 9-13. Anda dapat melihat hasil yang sukses pada Gambar 9-16. Bagus Bagian ini menjelaskan apa itu array - pasangan kunci dan nilai yang diurutkan. Jika kunci bilangan bulat berurutan digunakan, array adalah daftar indeks sederhana. Jika kunci string digunakan, array adalah peta Jika tidak suka menggunakan teknologi cookie untuk mengelola ID sesi, Anda dapat mencoba menggunakan parameter transparan URL untuk mengelola ID sesi. Inilah yang saya lakukan untuk menguji parameter transparan URL 1. Buka dan edit file konfigurasi, \php\php. ini session.use_cookies = 0 session.use_trans_sid = 1 2. Jalankan ulang http. //localhost/SessionPage1. php, saya dapat I am buying 3 PHP books. Next Counter = 1 Session name = PHPSESSID Session id = mg04r204ctuloo2uegmih14ri5 Session module = files Contents of $_GET: Contents of $_POST: Contents of $_COOKIE:_ 3. Klik "Berikutnya" di halaman pertama, alamat URL di browser diubah menjadi. http. //localhost/SessionPage2. php?PHPSESSID=mg04r204ctuloo2uegmih14ri5. Browser ditampilkan I am buying 3 PHP books. The unit price is 9.99 per book. Next Prev Counter = 2 Session name = PHPSESSID Session id = mg04r204ctuloo2uegmih14ri5 Contents of $_GET: PHPSESSID = mg04r204ctuloo2uegmih14ri5 Contents of $_POST: Contents of $_COOKIE: 4. Klik "Berikutnya" di halaman kedua, alamat URL di browser diubah menjadi. http. //localhost/SessionPage3. php?PHPSESSID=mg04r204ctuloo2uegmih14ri5. Browser ditampilkan I am buying 3 PHP books. The unit price is 9.99 per book. The total price is 29.97. Prev Counter = 3 Session name = PHPSESSID Session id = mg04r204ctuloo2uegmih14ri5 Contents of $_GET: PHPSESSID = mg04r204ctuloo2uegmih14ri5 Contents of $_POST: Contents of $_COOKIE:_ Keluaran menunjukkan bahwa konsep sesi masih berfungsi dengan benar. Tetapi beberapa hal menarik terjadi di sini Eksperimen sederhana yang mengilustrasikan apa yang terjadi ketika pengguna menonaktifkan cookie adalah dengan meminta skrip yang ditunjukkan pada Contoh 8-2 dari browser yang dukungan cookie-nya dimatikan. Saat permintaan berulang dibuat, penghitung tidak bertambah, dan durasi sesi tetap nol detik. Karena cookie tidak dikirim dari browser, variabel Pengidentifikasi sesi yang akan dikirim sebagai cookie dalam percobaan ini dapat dikirimkan dalam permintaan metode /tmp/sess_be20081806199800da22e240819640003 dan nilai ID sesi. Misalnya, permintaan awal dapat diajukan ke Contoh 8-1 dengan URL http://localhost/example.8-1.php_ Ini membuat sesi dan file terkait seperti /tmp/sess_be20081806199800da22e24081964000 Permintaan selanjutnya dapat dibuat yang mencakup /tmp/sess_be20081806199800da22e240819640003 http://localhost/example.8-1.php?PHPSESSID=be20081806199800da22e24081964000 Respons menunjukkan penghitung disetel ke /tmp/sess_be20081806199800da22e24081964000_5 dan durasi sesi yang benar. Permintaan berulang ke URL ini berfungsi seperti yang diharapkan. counter bertambah, dan durasi yang dihitung meningkat Jika Anda menulis aplikasi berbasis sesi untuk menggunakan URL guna mengidentifikasi sesi, aplikasi tidak akan gagal untuk pengguna yang tidak mengizinkan cookie. Aplikasi dapat menggunakan cookie percobaan untuk melihat apakah cookie didukung oleh browser atau tidak menggunakan cookie sama sekali Saat /tmp/sess_be20081806199800da22e24081964000_6 diaktifkan, dan cookie dan GET atau POST digunakan untuk menyetel $PHPSESSID , cookie menang. Nilai atribut GET atau POST ditimpa oleh nilai yang terkait dengan cookie karena urutan default di mana PHP menginisialisasi variabel tersebutCara aman untuk membaca cookie dan atribut http://localhost/example.8-1.php?PHPSESSID=be20081806199800da22e240819640004, http://localhost/example.8-1.php?PHPSESSID=be20081806199800da22e240819640005, dan http://localhost/example.8-1.php?PHPSESSID=be20081806199800da22e240819640006 Keuntungan lain dari menghindari cookie adalah beberapa browser, seperti Netscape dan Internet Explorer, berbagi cookie di semua contoh program yang berjalan untuk pengguna tertentu di mesin yang sama. Perilaku ini mencegah pengguna memiliki beberapa sesi dengan aplikasi database web Bisakah kita mempertahankan sesi tanpa cookie?Metode HTTP POST menyediakan alternatif cookie untuk mempertahankan status sesi . Metode HTTP POST memberikan informasi status yang sama seperti cookie, tetapi memiliki keuntungan karena dapat berfungsi meskipun cookie tidak tersedia. Metode ini tidak umum dalam praktiknya, tetapi merupakan contoh yang baik untuk dipelajari.
Apakah sesi bergantung pada cookie?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.
Apakah sesi PHP adalah cookie?Sesi PHP
. Sesi biasanya berupa file atau catatan basis data di sisi server yang berisi potongan kecil data yang ingin disimpan server untuk setiap pengguna. Sessions are an alternative to cookies. A session is usually a file or database record on the server side which contains the small pieces of data which the server wants to store for each user. |