


php 依據(jù)session與cookie用戶登錄狀態(tài)操作類,sessioncookie_PHP教程
Jul 12, 2016 am 08:52 AMphp 依據(jù)session與cookie用戶登錄狀態(tài)操作類,sessioncookie
1、用戶登錄狀態(tài)操作類UserLogin
?

<?<span>php </span><span>final</span> <span>class</span><span> UserLogin { </span><span>public</span> <span>function</span><span> __construct() { } </span><span>public</span> <span>static</span> <span>function</span><span> getUserInfo() { </span><span>if</span> (<span>isset</span>(<span>$_COOKIE</span>["user_id"])&&<span>$_COOKIE</span>["user_id"]&&(<span>trim</span>(<span>$_COOKIE</span>["user_id"])!=""<span>)) { </span><span>if</span> (<span>isset</span>(<span>$_SESSION</span>["USER_INFO"<span>])) </span><span>return</span> <span>$_SESSION</span>["USER_INFO"<span>]; </span><span>$dao</span> = <span>new</span><span> UserDao(); </span><span>$user</span> = <span>$dao</span>->find(<span>$_COOKIE</span>["user_id"<span>]); </span><span>if</span> (<span>$user</span><span>) { </span><span>$_SESSION</span>["USER_INFO"] = <span>$user</span><span>; </span><span>setcookie</span>("docloud_sid", <span>session_id</span>(), <span>time</span>() + 36000<span>); </span><span>setcookie</span>("user_id", <span>$_COOKIE</span>["user_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_prj_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_prj_id", <span>$_COOKIE</span>["selected_prj_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_class_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_class_id", <span>$_COOKIE</span>["selected_class_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_image_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_image_id", <span>$_COOKIE</span>["selected_image_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("test_image_ids", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("test_image_ids", <span>$_COOKIE</span>["test_image_ids"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("upload_image_ids", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("upload_image_ids", <span>$_COOKIE</span>["upload_image_ids"], <span>time</span>() + 36000<span>); </span><span>return</span> <span>$user</span><span>; } } self</span>::<span>clearCookie(); </span><span>return</span> <span>null</span><span>; } </span><span>public</span> <span>static</span> <span>function</span> setUserInfo(<span>$userInfo</span><span>) { </span><span>$_SESSION</span>["USER_INFO"] = <span>$userInfo</span><span>; </span><span>setcookie</span>("docloud_sid", <span>session_id</span>(), <span>time</span>() + 36000<span>); </span><span>setcookie</span>("user_id", <span>$userInfo</span>->getId(), <span>time</span>() + 36000<span>); } </span><span>public</span> <span>static</span> <span>function</span><span> isLogin() { </span><span>if</span> (self::<span>getUserInfo()) { </span><span>return</span> <span>true</span><span>; } </span><span>return</span> <span>false</span><span>; } </span><span>public</span> <span>static</span> <span>function</span><span> delUserInfo() { self</span>::<span>clearCookie(); </span><span>session_destroy</span><span>(); } </span><span>private</span> <span>static</span> <span>function</span><span> clearCookie() { </span><span>setcookie</span>("docloud_sid", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("user_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_prj_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_class_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_image_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("test_image_ids", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("upload_image_ids", "", <span>time</span>() - 36000<span>); } } </span>?>

2、在用戶輸入用戶名、密碼處調(diào)用來做相關(guān)判定

<?<span>php </span><span>require_once</span> 'Init.php'<span>; </span><span>//</span><span> if logged in, logout</span> <span>if</span> (UserLogin::isLogin() && <span>$_COOKIE</span>["user_id"]==1<span>) { UserLogin</span>::<span>delUserInfo(); } </span><span>else</span> <span>if</span> (UserLogin::<span>isLogin()){ Utils</span>::redirect('welcome'<span>); } </span><span>$username</span> = <span>null</span><span>; </span><span>$password</span> = <span>null</span><span>; </span><span>$msg</span> = ""<span>; </span><span>if</span> (<span>isset</span>(<span>$_POST</span>['username']) && <span>isset</span>(<span>$_POST</span>['password'<span>])) { </span><span>$username</span> = <span>addslashes</span>(<span>trim</span>(<span>stripslashes</span>(<span>$_POST</span> ['username'<span>]))); </span><span>$password</span> = <span>addslashes</span>(<span>trim</span>(<span>stripslashes</span>(<span>$_POST</span> ['password'<span>]))); </span><span>//</span><span> validate</span> <span>$errors</span> = LoginValidator::validate(<span>$username</span>, <span>$password</span><span>); </span><span>if</span> (<span>empty</span>(<span>$errors</span><span>)) { </span><span>//</span><span> save</span> <span>$dao</span> = <span>new</span><span> UserDao(); </span><span>$user</span> = <span>$dao</span>->findByName(<span>$username</span><span>); </span><span>$last_login_ip</span> = Utils::<span>getIpAddress(); </span><span>$user</span>->setLastLoginIp(<span>$last_login_ip</span><span>); </span><span>$now</span> = <span>new</span><span> DateTime(); </span><span>$user</span>->setLastLoginTime(<span>$now</span><span>); </span><span>$dao</span>->save(<span>$user</span><span>); UserLogin</span>::setUserInfo(<span>$user</span><span>); Flash</span>::addFlash('登錄成功!'<span>); Utils</span>::redirect('welcome'<span>); } </span><span>foreach</span> (<span>$errors</span> <span>as</span> <span>$e</span><span>) { </span><span>$msg</span> .= <span>$e</span>->getMessage()."<br>"<span>; } } </span>?>

?
?
?
?

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kuki biasanya disimpan dalam folder kuki penyemak imbas antara muka pengurusan kuki yang disediakan oleh penyemak imbas anda untuk melihat dan mengurus kuki.

Kuki pada komputer anda disimpan di lokasi tertentu pada penyemak imbas anda, bergantung pada penyemak imbas dan sistem pengendalian yang digunakan: 1. Google Chrome, disimpan dalam C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies dll.

Prinsip kerja kuki melibatkan pelayan menghantar kuki, pelayar menyimpan kuki, dan pelayar memproses dan menyimpan kuki. Pengenalan terperinci: 1. Pelayan menghantar kuki, dan pelayan menghantar pengepala respons HTTP yang mengandungi kuki ke penyemak imbas. Kuki ini mengandungi beberapa maklumat, seperti pengesahan identiti pengguna, keutamaan, atau kandungan troli beli-belah Selepas pelayar menerima kuki ini, ia akan disimpan pada komputer pengguna 2. Pelayar menyimpan kuki, dsb.

Bahaya kebocoran kuki termasuk kecurian maklumat identiti peribadi, penjejakan tingkah laku dalam talian peribadi dan kecurian akaun. Pengenalan terperinci: 1. Maklumat identiti peribadi telah dicuri, seperti nama, alamat e-mel, nombor telefon, dsb. Maklumat ini boleh digunakan oleh penjenayah untuk menjalankan aktiviti haram seperti kecurian identiti dan penipuan 2. Tingkah laku dalam talian peribadi dikesan dan dianalisis melalui kuki Dengan data dalam akaun, penjenayah boleh mengetahui tentang sejarah penyemakan imbas pengguna, pilihan membeli-belah, hobi, dsb.;

Penyelesaian untuk document.cookie tidak diperolehi: 1. Tetapan privasi pelayar 2. Dasar asal yang sama 3. Kuki HTTPOnly 5. Kuki tidak wujud atau tamat tempoh; . Mod pemapar; 8. Masalah pelayan;

Kuki pada telefon mudah alih disimpan dalam aplikasi penyemak imbas peranti mudah alih: 1. Pada peranti iOS, Kuki disimpan dalam Tetapan -> Safari -> Lanjutan -> Data Laman Web pelayar Safari 2. Pada peranti Android, Kuki Disimpan; dalam Tetapan -> Tetapan tapak -> Kuki penyemak imbas Chrome, dsb.

Kesan mengosongkan kuki termasuk menetapkan semula tetapan dan pilihan pemperibadian, menjejaskan pengalaman iklan dan memusnahkan status log masuk dan fungsi mengingati kata laluan. Pengenalan terperinci: 1. Tetapkan semula tetapan dan pilihan yang diperibadikan Jika kuki dikosongkan, troli beli-belah akan ditetapkan semula kepada kosong dan produk perlu ditambah sekali lagi akan menyebabkan status log masuk pada platform media sosial hilang, memerlukan menambah semula. Masukkan nama pengguna dan kata laluan 2. Ia menjejaskan pengalaman pengiklanan Jika kuki dikosongkan, tapak web tidak akan dapat memahami minat dan pilihan kami, dan akan memaparkan iklan yang tidak berkaitan, dsb.

Dalam penggunaan harian komputer dan Internet, kita sering terdedah kepada kuki. Kuki ialah fail teks kecil yang menyimpan rekod lawatan kami ke tapak web, keutamaan dan maklumat lain. Maklumat ini mungkin digunakan oleh tapak web untuk memberi perkhidmatan yang lebih baik kepada kami. Tetapi kadangkala, kita perlu mencari maklumat kuki untuk mencari kandungan yang kita inginkan. Jadi bagaimana kita mencari kuki dalam penyemak imbas? Pertama, kita perlu memahami di mana kuki itu wujud. dalam pelayar
