麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

詳解PHP中cookie和session的區別及cookie和session用法小

2020-03-22 20:15:46
字體:
來源:轉載
供稿:網友
PHP 詳解PHP中cookie和session的區別及cookie和session用法小結
如果cookie不設置生命周期,則以瀏覽器關閉而關閉,這種cookie一般存儲在內存而不是硬盤上.若設置了生命周期則相反,不隨瀏覽器的關閉而消失,這些cookie仍然有效直到超過設定的過 期 時間。
session 一種類似散列表的形式保存信息,
當程序需要為某個客戶端的請求創建一個session時,服務器首先檢查這個客戶端的請求里是否已包含了一個session標識
(稱為session id),如果已包含則說明以前已經為此客戶端創建過session,服務器就按照session id把這個session檢索出來使用(檢索不到,會新建一個),如果客戶端請求不包含session id,則為此客戶端創建一個session并且生成一個與此session相關聯的session id,session id的值應該是一個既不會重復,又不容易被找到規律以仿造的字符串,這個session id將被在本次響應中返回給客戶端保存。保存這個session id的方式可以采用cookie,這樣在交互過程中瀏覽器可以自動的按照規則把這個標識發送給服務器。一般這個cookie的名字都是類似于SEEESIONID。但cookie可以被人為的禁止,則必須有其他機制以便在cookie被禁止時仍然能夠把session id傳遞回服務器。
優缺點:
1、cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙
考慮到安全應當使用session。
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能考慮到減輕服務器性能方面,應當使用COOKIE。
4、單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。
5、所以個人建議:將登陸信息等重要信息存放為SESSION
其他信息如果需要保留,可以放在COOKIE中Session和html' target='_blank'>Cookie的使用總結:
Session和cookie都是asp.Net中的內置對象,至于他們有什么區別,在這里就不在多說,現在來說說一些比較實用點的東西:
我們知道網站都有一個后臺管理系統,其中有登錄和退出兩個功能,在登錄的時候我們往往會把用戶的信息保存到session或者cookie中,以便后面使用,那么在登錄的時候我們要注意哪些呢?
1、把一些敏感的東西存到session中,不太敏感的東西可以存在session或者Cookie中,比如用戶名就是不太敏感,但是介于有些瀏覽器不支持cookie的使用,所以我們會把它存到session中,但是session有的時候在服務器中容易丟失,所以我們可以結合cookie一起使用,就是說當session的丟失的時候,如果cookie還在我們設定的有效期內,就可以再一次從Cookie中取出值放進session里,所以我們最好同時用session和cookie保存用戶名等信息或者在配置文件里
復制代碼 代碼如下:
sessionState timeout="2" mode="StateServer" /
來解決session丟失的問題也可以
2、我們希望后臺管理在多長時間沒有操作的情況下,讓session失效,重新登錄,可以使用session.timeout=5,以分鐘為單位,表示5分鐘之內沒有其他操作,就失效,或者在配置文件中配置 sessionState timeout="5" mode="InProc" / 也可以
3、cookie有效期的設置
httpCookie.Expires = DateTime.Now.AddMinutes(2);
cookie的有效期為2分鐘
4、頁面中判斷是否有權限訪問該網頁的時候,可以如下判斷:
if (Request.Cookies["httpCookie"] != null)Session["admin"] = Request.Cookies["httpCookie"].Values["admin"].ToString();if (Session["admin"] == null)this.ClientScript.RegisterStartupScript(this.GetType(), "", " script alert('請重新登 錄');location.href='logins.aspx' /script }下面在來說說退出的時候該怎么做比較好
1、 退出的時候session和Cookie的值都要清空,現在來簡單說說session的幾個方法的區別:
Session.clear():表示將會話中所有的session的鍵值都清空,但是session還是依然存在,同等于Session.RemoveAll()
Session[“admin”]=null:表示將制定的鍵的值清空,并釋放掉,和session[“admin”]=””不一樣,它清空了,但是session不釋放,同等于session.Remove(“name”);
Session.Abandon()就是把當前Session對象刪除了,下一次就是新的Session了。
主要的不同之處在于當使用Session.Abandon時,會調用Session_End方法(InProc模式下)。當下一個請求到來時將激發Session_Start方法。而Session.Clear只是清除Session中的所有數據并不會中止該
Session,因此也不會調用那些方法,Abandon方法用于主動結束會話,若沒有調用該方法,當會話超時后,也會自動結束當前會話。
2、 下面在來看看如何清除cookie
A、tpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("tuser");cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);B、tpCookie httpCookie = Request.Cookies["httpCookie"];httpCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(httpCookie);
AB兩種方法都可以
3、 所以session清除當前的值就可以了即Session[“admin']=null就可以了,Cookie按照以上方法清除即可
建議和意見:
1、 在退出的時候我們可以在創建一個logout的頁面來寫時間,這樣比較好一些
2、 無論在進行什么操作的時候,能用If判斷是否為空的情況下就盡量的判斷,防止出現了空指針異常以上所述是小編給大家介紹的詳解PHP中cookie和session的區別及cookie和session用法小結的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對phpstudy網站的支持!PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天天曰夜夜操 | 网站激情 | 99视频观看 | 日韩精品中文字幕一区二区三区 | 亚洲成人高清在线观看 | 狠狠干天天 | 欧美综合在线观看视频 | 欧美一区在线观看视频 | 久久综合精品视频 | 精品国产乱码久久久久久丨区2区 | 免费观看一区 | 日韩精品网站在线观看 | 国产日韩大片 | 国产手机av在线 | 国产小视频一区 | 国产在线1区 | 中文字幕国 | 欧美一区二区三区中文字幕 | 欧美老外a级毛片 | 深夜免费视频 | 精品国产1区2区3区 免费国产 | 国产精品久久久久一区二区 | 欧美性激情视频 | 国产精品久久久久久久久久久久久久久久 | 久久久久久久一区二区三区 | av手机在线免费播放 | 久久国产精品99国产 | 国产精品av久久久久久网址 | 国产日韩在线 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 7m视频成人精品分类 | 欧美性受ⅹ╳╳╳黑人a性爽 | 日韩中文字幕一区二区三区 | 国产免费最爽的乱淫视频a 毛片国产 | 免费观看一级黄色片 | 羞羞视频免费观看网站 | 日韩毛片网 | 国产91久久精品 | 九九热免费视频在线观看 | www.热| 亚洲一级电影在线观看 |