flask的同一ip域名不同端口的两个网站session冲突
問題現(xiàn)象:
項(xiàng)目A和項(xiàng)目B,部署在同一臺(tái)服務(wù)器下,使用相同的域名,他們的訪問方式類似于下面這樣:
http://test.domain.com/A/index.jsp
http://test.domain.com/B/index.jsp
A項(xiàng)目中有個(gè)鏈接到B項(xiàng)目的鏈接(用戶名和密碼放在參數(shù)里,到B項(xiàng)目中的方法中驗(yàn)證,組裝user并設(shè)置到session里),
當(dāng)在A項(xiàng)目中點(diǎn)擊了鏈接后會(huì)將B的頁(yè)面內(nèi)嵌在A系統(tǒng)中,再次點(diǎn)擊A項(xiàng)目的其他菜單時(shí)退出到登錄頁(yè)面
問題解決之前做的內(nèi)容:
(本人是flask初學(xué)者)
1.更改項(xiàng)目路徑:
百度搜到說(shuō)cookie不區(qū)分端口號(hào),可以根據(jù)請(qǐng)求路徑不同,cookie存儲(chǔ)的內(nèi)容不同,但是我更改了請(qǐng)求路徑,沒用
2.設(shè)置A,B兩個(gè)網(wǎng)站的cookie為不同存儲(chǔ)位置:
百度了半天說(shuō)通過(guò)js能更改路徑,可能是技術(shù)不精,無(wú)濟(jì)于事
3.百度說(shuō)更改sessionid,找了半天,不知道說(shuō)的是什么
經(jīng)過(guò)冷靜分析發(fā)現(xiàn)了問題的原因:
問題原因:
先看A網(wǎng)站和B網(wǎng)站的再瀏覽器中的cookie的key值,可以通過(guò)EditThisCookie這個(gè)谷歌插件去看(不懂的和不會(huì)使用的可以去百度一下),訪問這A、B這兩個(gè)網(wǎng)站,查看A和B的cookie的key都為session
這是因?yàn)槭裁茨?#xff1f;
在flask的配置中,有這么幾個(gè)配置項(xiàng):
看到了嗎,*‘SESSION_COOKIE_NAME’*的值默認(rèn)為session,那么我們接下來(lái)的任務(wù)就是去更改他默認(rèn)的值,在我們的兩個(gè)項(xiàng)目中,例如A項(xiàng)目添加下面這樣的配置:
app.config['SESSION_COOKIE_NAME']="sessionA"在B項(xiàng)目中添加:
app.config['SESSION_COOKIE_NAME'] = 'sessionB'這樣就可以了,sessionA和sessionB這兩個(gè)名字是我自己定義的,大家可以根據(jù)自己的特點(diǎn)去定義,只要兩個(gè)名字不一樣就可以
問題解決了,留個(gè)一鍵三連再走吧,小哥哥小姐姐們,mua
總結(jié)
以上是生活随笔為你收集整理的flask的同一ip域名不同端口的两个网站session冲突的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA上编写hadoop程序(Mave
- 下一篇: Maven如何用Eclipse创建一个M