Cara Mengaktifkan Sesi di PHP dengan Kuki

Cara Mengaktifkan Sesi di PHP dengan Kuki

Kuki ada di dalam kehidupan seharian kita semasa kita melayari internet. Kebanyakan orang tidak akan tahu banyak tentang mereka, jika bukan untuk "laman web kami menggunakan kuki untuk beroperasi" tanda -tanda yang kebanyakannya ada di mana -mana halaman sekarang sejak GDPR. Kuki mempunyai sejarah yang panjang jika kadang -kadang baik, kadang -kadang buruk. Seperti biasa dengan kebanyakan aspek dunia, teknologi ini boleh digunakan dengan cara yang baik atau buruk.

Dalam tutorial ini, kami akan meneroka kuki sedikit dari perspektif pengaturcaraan sampingan pelayan: Kami akan membuat contoh cookie di PHP, dan menyimpan nama pengguna yang dipilih oleh pelawat di dalamnya. Kuki akan tinggal di penyemak imbas pelawat, jadi pada lawatan seterusnya kami dapat membacanya dan menggunakannya untuk menyambut pelawat pada nama pengguna yang dikemukakan.

Laman web ringkas kami akan mengenali pelawat selagi kuki hadir di penyemak imbas. Kami tidak menyimpan sebarang maklumat di sisi pelayan: jika pengunjung pertama memeriksa dari PC, dan kali seterusnya dari telefon pintar, kami tidak akan tahu ia adalah individu yang sama. Ini adalah salah satu perkara utama dengan kuki: kita hanya dapat mengenal pasti pelanggan yang diberikan, dan hanya selagi data disediakan oleh penyemak imbas tertentu.

Dalam tutorial ini anda akan belajar:

  • Cara Menyediakan Persekitaran Ujian
  • Cara Menulis Program Contoh Mudah yang Menggunakan Kuki
  • Cara menguji cara kerja program
  • Cara menetapkan semula persekitaran
Menggunakan kuki di php.

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Ubuntu 20.04 LTS
Perisian Php 7.2, Firefox 74.0
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Persediaan

Persekitaran ujian kami terdiri daripada webserver Apache, dengan modul PHP dimuatkan. Dalam persediaan kami, kami menggunakan ubuntu 20.04 LTS, tetapi apa -apa pengedaran baru -baru ini akan dilakukan. Di Ubuntu, semua yang kita perlukan adalah apache2 dan php:

$ sudo apt-get pemasangan apache2 $ sudo apt-get install php

Kami juga memerlukan webserver untuk dijalankan untuk mencapai halaman contoh kami dengan penyemak imbas:

$ sudo Systemctl mulakan semula apache2

Kami juga memerlukan penyemak imbas baru -baru ini dengan kuki diaktifkan. Tutorial ini menggunakan Firefox terkini; Sekiranya anda mempunyai sambungan seperti NoScript, Lumpuhkannya atau aktifkan kuki dari webserver ujian semasa anda sedang menguji.



Kod

Pertimbangkan kod sumber contoh halaman PHP sebagai yang berikut:

Selamat datang, " . $ nama pengguna . "!\ n "; if ($ ask_to_store) echo"

Sekiranya anda ingin menetapkan nama pengguna supaya kami dapat menyambut anda dengan itu, masukkannya ke borang di bawah, dan serahkan permintaan anda.

\ n "; echo" \ n "; echo" \ n "; echo" \ n "; echo" \ n "; else echo"

Kami gembira kami dapat menyambut anda dengan nama.

\ n "; ?>
Salinan

Kami memasukkan kod ini ke dalam fail yang dipanggil page_with_cookies.php, dan letakkan di webserver ujian kami php direktori. Oleh itu, kami akan dapat mencapainya dari penyemak imbas yang menyatakan URL seperti berikut: http: /// php/page_with_cookies.php. Kita akan melihat apa kod ini dalam langkah -langkah berikut.

Memahami bagaimana laman web berfungsi

Langkah seterusnya kami ialah memeriksa jika halaman kami dimuatkan dengan betul. Kami menunjukkan penyemak imbas kami ke halaman, dan bentuk mudah muncul. 192.168.1.2 adalah alamat IP dari webserver dalam persekitaran ujian, jika anda mengikuti, anda harus mengubahnya ke alamat atau nama DNS pelayan yang anda letakkan kod ini.

Pada lawatan pertama, halaman tidak akan tahu siapa kita, jadi ia akan menyambut kita sebagai "pelawat yang tidak diketahui". Kami menetapkan nama ini di bahagian kod, baris 4, Dan kerana tidak ada kuki yang ada dalam penyemak imbas lagi, nilai pembolehubah tidak ditulis semula oleh nama pengguna yang sebenarnya. Kami mengesan tidak ada kuki di baris 6, dan juga bukan permintaan yang berlaku
nama pengguna sebenar yang dikemukakan oleh pelawat (baris 7). Ini adalah keadaan di mana kita memaparkan borang yang membolehkan pelawat menyerahkan nama pengguna. Ini ditentukan oleh boolean
pemboleh ubah di baris 8.

Sekarang kita dapat mengisi medan input yang disediakan dalam bentuk (dihasilkan oleh kod tersebut baris 16-21). Kami akan menggunakan "Foo Bar" dalam contoh ini.

Mengisi borang di halaman.

Semasa memukul hantar, halaman itu disambut oleh nama pengguna yang kami hantar.

Nama pengguna yang diiktiraf oleh halaman.

Ini bukan sihir setakat ini, kami telah membaca data yang dihantar dalam permintaan pos, menetapkan nama pengguna dengan sewajarnya, dan menggunakannya untuk menyambut pelawat. Tetapi kami juga menetapkan kuki (baris 11) di tempat, yang menyimpan data yang diberikan dalam penyemak imbas. Jika kami membuka halaman sekali lagi (yang merupakan permintaan lain, di mana kami tidak menghantar sebarang maklumat nama pengguna), kami juga akan disambut oleh nama pengguna yang ditetapkan sebelum ini, selagi kuki tetap di penyemak imbas. Bentuk yang membolehkan mengemukakan nama pengguna juga tidak ditunjukkan pada halaman baru, kerana kami adalah cawangan "palsu" jika penyata di
baris 16.



Cara menetapkan semula persekitaran

Untuk membersihkan keadaan penyemak imbas, kita dapat menjatuhkan kuki daripadanya. Di Firefox 74.0 Ia boleh didapati di Keutamaan -> Privasi & Keselamatan -> Cookies dan Data Laman -> Urus Data ..

Membersihkan kue laman web di Firefox.

Di skrin cetak kami mencari alamat IP dari webserver ujian, kerana kami sampai di laman web ini melalui alamat IP. Dengan memukul "Buang Terpilih", daripada "Simpan Perubahan" kami memuktamadkan penghapusan cookie tapak yang diletakkan di penyemak imbas kami.

Sekiranya kami melawat halaman itu lagi, ucapan tanpa nama asal akan menunggu kami, dengan borang untuk menyerahkan nama pengguna. Laman web ini tidak menyimpan sebarang data, dan tanpa kuki itu tidak tahu siapa kita.

Kesimpulan

Tutorial ini bertujuan untuk memberi pemahaman tentang bagaimana kuki berfungsi. Kami boleh menyimpan maklumat dengan mereka dalam penyemak imbas pelawat untuk mengenal pasti contoh pelanggan yang melayari laman web kami.

Menetapkan mereka adalah mudah, namun terdapat banyak batasan untuk dipertimbangkan: jika pengguna membersihkan kuki, atau tidak menerimanya sama sekali, fungsi berdasarkan mereka akan pecah. Perkara utama lain yang perlu diingat bahawa kuki itu terikat dengan contoh penyemak imbas, jadi jika pengguna yang sama membuka pelayar lain pada komputer yang sama, katakan Chrome, cookies yang dimana di Firefox tidak akan dilihat.

Tutorial Linux Berkaitan:

  • Cara Mengurus Sejarah Bash
  • Cara memeriksa hayat bateri di Ubuntu
  • Linux Apache Tidak Melaksanakan Fail PHP: Penyelesaian
  • Cara memasang PHP di Ubuntu Linux
  • Cara membuat timbunan lampu berasaskan Docker menggunakan Docker pada ..
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Cara Menguji Sambungan Internet di Linux
  • Cara membuat phpinfo.Halaman PHP
  • Cara Mengosongkan Firefox Cache di Linux
  • Pemasangan WordPress OpenLiteSpeed