Kuki PHP
Kuki sering digunakan untuk mengenal pasti pengguna.
Apakah itu kuki?
Kuki dijana oleh pelayan dan dihantar kepada Ejen Pengguna (biasanya penyemak imbas akan menyimpan kunci/nilai kuki ke fail teks dalam direktori tertentu). Kuki ini dihantar ke pelayan apabila tapak web yang sama diminta (dengan syarat penyemak imbas ditetapkan untuk mendayakan kuki). Nama dan nilai kuki boleh ditakrifkan oleh pembangun bahagian pelayan, supaya pelayan boleh mengetahui sama ada pengguna adalah pengguna yang sah dan sama ada dia perlu log masuk semula, dsb. Pelayan boleh menetapkan atau membaca maklumat yang terkandung dalam Kuki untuk mengekalkan status sesi pengguna dengan pelayan .
Nota:
1 Komputer yang berbeza tidak boleh berkongsi kuki
2. Pelayar yang berbeza pada komputer yang sama tidak boleh berkongsi kuki
3. Kuki tidak boleh dikongsi di bawah penyemak imbas yang sama dan nama domain yang berbeza
4. Walaupun di bawah penyemak imbas yang sama dan nama domain yang sama, kuki dengan laluan yang berbeza tidak boleh dikongsi
Bagaimana untuk mencipta kuki?
Buat kuki melalui fungsi setcookie(), mengembalikan BENAR jika berjaya, jika tidak mengembalikan FALSE.
Nota: Fungsi setcookie() mesti diletakkan sebelum teg <html>
Sintaks
setcookie(nama, nilai, tamat tempoh, laluan, domain);
Perihalan parameter:
Parameter Penerangan
nama kuki nama
nilai Pilihan, nilai kuki
tamat tempoh Pilihan, masa tamat tempoh, format cap masa
laluan Pilihan, laluan sah bahagian pelayan, / menunjukkan bahawa keseluruhan nama domain adalah sah, lalai ialah laluan halaman apabila kuki ditetapkan pada masa ini
domain Pilihan, Nama domain yang sah untuk kuki ini
Contoh 1
Dalam contoh berikut, kami akan mencipta kuki bernama "pengguna" dan memberikannya nilai "php". Kami juga menyatakan bahawa kuki ini tamat tempoh selepas satu jam:
<?php setcookie("user", "php", time()+3600); ?>
Apabila menggunakan kuki, nilai kuki akan dikodkan URL secara automatik dan dinyahkod secara automatik apabila diambil semula.
Contoh 2
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?>*30 hari).
Bagaimana untuk mendapatkan semula nilai Cookie?
Pembolehubah $_COOKIE PHP digunakan untuk mendapatkan semula nilai kuki.
_cookie);
?
Anda boleh memadamkan kuki dengan menetapkan masa tamat tempoh kuki kepada titik masa sebelumnya:
Instance yang dipadamkan: <html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
?>
</body>
</html>
Petua:
Disebabkan oleh sekatan protokol, tiada kandungan boleh dikeluarkan kepada penyemak imbas sebelum kuki ditetapkan
Kuki tidak akan berkuat kuasa pada set halaman semasa Untuk mengakses kuki yang ditetapkan, halaman lain mesti dilawati sebelum tamat tempoh
Memandangkan maklumat kuki disimpan dalam komputer pengguna, adalah mungkin untuk memalsukan kuki dan menyebabkan penipuan kuki Secara amnya, nilai kuki boleh disulitkan untuk mengelakkan penipuan. Apabila membaca kuki, hanya menyahsulit kukiApakah yang perlu saya lakukan jika penyemak imbas tidak menyokong kuki?
Jika aplikasi anda perlu berurusan dengan penyemak imbas yang tidak menyokong kuki, maka anda perlu menggunakan kaedah lain untuk menghantar maklumat antara halaman dalam aplikasi anda. Satu cara adalah dengan menghantar data melalui borang (borang dan input pengguna diliputi dalam bab sebelumnya dalam tutorial ini).
Borang berikut menyerahkan input pengguna kepada "welcome.php" apabila pengguna mengklik butang "Serah":
<?php // 设置 cookie 过期时间为过去 1 小时 setcookie("user", "", time()-3600); ?>
Dapatkan nilai dalam fail "welcome.php", seperti berikut Ditunjukkan :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>Isu sekatan kuki
Banyak penyemak imbas mempunyai had pada bilangan kuki yang boleh ditetapkan oleh tapak web , malah sesetengah penyemak imbas mengehadkannya kepada 30
Pelayar juga mempunyai sekatan pada saiz kuki, yang biasanya tidak boleh melebihi saiz 4K
Isu keselamatan kukiJika anda tidak menutup komputer anda selepas melayari Internet di kafe Internet, orang lain yang menggunakan komputer anda boleh melihat sejarah semua laman web yang anda lawati dan kandungan kuki yang disimpan oleh tapak web tersebut. Jika data penting (pengguna nama , kata laluan, nombor kad, nombor telefon mudah alih, nombor ID...) menyimpan dalam Kuki adalah tingkah laku yang sangat berbahaya.
Oleh itu, data penting tidak boleh disimpan dalam kuki Jika ia mesti disimpan, ia mesti bergantung pada pelayan