真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django如何解決相同IP不同端口cookie和session沖突

這篇文章主要講解了“django如何解決相同IP不同端口cookie和session沖突”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“django如何解決相同IP不同端口cookie和session沖突”吧!

10年積累的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有西夏免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

背景

本地測試使用同一源碼部署的2個(gè)站點(diǎn),發(fā)現(xiàn)其cookie是公用的,會相互影響

演示

站點(diǎn)A: http://127.0.0.1:8002/

站點(diǎn)B: http://127.0.0.1:8004/

1. 站點(diǎn)A登錄后,瀏覽器獲取sessionid

django如何解決相同IP不同端口cookie和session沖突

2. 站點(diǎn)B登錄后,瀏覽器獲取sessionid

django如何解決相同IP不同端口cookie和session沖突

站點(diǎn)A和B的sessionid值一樣

3. 站點(diǎn)A退出登錄,sessionid被清除

django如何解決相同IP不同端口cookie和session沖突

4. 在站點(diǎn)B刷新頁面,sessionid也消失

django如何解決相同IP不同端口cookie和session沖突

解決

django默認(rèn)的存儲賬號cookie的名稱為sessionid,只要將不同項(xiàng)目的cookie名稱設(shè)置不相同,即可避免cookie沖突。

修改方法是在setting.py 中添加cookie自定義名稱設(shè)置,例SESSION_COOKIE_NAME = "session"  # 名稱可按需修改

1. 站點(diǎn)A設(shè)置SESSION_COOKIE_NAME="sessionid"并登錄,Cookies中新增sessionid

django如何解決相同IP不同端口cookie和session沖突

2. 站點(diǎn)B設(shè)置SESSION_COOKIE_NAME="sessionid_zy"并登錄,Cookies中新增sessionid_key

django如何解決相同IP不同端口cookie和session沖突

3. 兩個(gè)站點(diǎn)都執(zhí)行刷新操作,發(fā)現(xiàn)各自Cookies都有兩個(gè)參數(shù),在站點(diǎn)A打開其他網(wǎng)址,在請求頭Cookie會把2個(gè)參數(shù)都發(fā)送給服務(wù)器

django如何解決相同IP不同端口cookie和session沖突

服務(wù)器獲取到全部參數(shù)后,會根據(jù)端口檢測sessonid參數(shù)是否存在,sessionid對應(yīng)值是否跟數(shù)據(jù)庫值一致。(下圖為驗(yàn)證通過)

django如何解決相同IP不同端口cookie和session沖突

一旦參數(shù)不存在或者值不一致,Django會清除服務(wù)器session數(shù)據(jù),同時(shí)會跟瀏覽器交互清除Cookies的sessionid參數(shù),隨后訪問站點(diǎn)A就要重新登錄。

在站點(diǎn)A的Cookies中,手動(dòng)給sessionid增加1111,此時(shí)瀏覽器存儲的sessionid跟服務(wù)器存的值不一致

django如何解決相同IP不同端口cookie和session沖突

刷新頁面

django如何解決相同IP不同端口cookie和session沖突

此時(shí)服務(wù)器session驗(yàn)證不通過,重定向至登錄頁(重定向邏輯是自行設(shè)計(jì)實(shí)現(xiàn)),并告知瀏覽器,瀏覽器將當(dāng)前緩存sessionid清理掉。

由于站點(diǎn)B的cookie名是sessionid_zy,因此站點(diǎn)B仍可以正常使用。

感謝各位的閱讀,以上就是“django如何解決相同IP不同端口cookie和session沖突”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對django如何解決相同IP不同端口cookie和session沖突這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


分享名稱:django如何解決相同IP不同端口cookie和session沖突
分享鏈接:http://weahome.cn/article/jpdsjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部