关于iframe中session 失效问题
關(guān)于session 失效問題 解決了很多天 ,終于再最后完美解決了問題、
首先說一下走的坑,一開始iframe 丟失session解決方法是用nginx進(jìn)行反向代理來解決這個問題
配置如下
結(jié)果還是沒有解決問題 ,各種找問題 網(wǎng)上大多都是用P3P跟iis 修改,但我這是純html啊 不是asp頁面所以全部不行。
然后又發(fā)現(xiàn)配置nginx中的
proxy_redirect 跟proxy_cookie_domain 還有proxy_cookie_path 具體配置自行百度
但是還是沒辦法解決問題。
后來詢問了一個大神 ,一看游覽器內(nèi)核,Google內(nèi)核80以上了,(此時其他游覽器是正常的 但我都沒有嘗試 以后注意 ,不然就可以早點發(fā)現(xiàn)原因)
其實控制臺有排除警告一直沒有注意但是
所以后來知道Google 將在2020年2月4號發(fā)布的 Chrome 80 版本(schedule:https://www.chromestatus.com/features/schedule)中默認(rèn)屏蔽所有第三方 Cookie,即默認(rèn)為所有 Cookie 加上 SameSite=Lax 屬性(https://www.chromestatus.com/feature/5088147346030592),并且拒絕非Secure的Cookie設(shè)為 SameSite=None(https://www.chromestatus.com/feature/5633521622188032)此舉是為了從源頭屏蔽 CSRF 漏洞
最后解決方案
解決方案
方案一
Chrome 中打開 chrome://flags/#same-site-by-default-cookies 和 chrome://flags/#cookies-without-same-site-must-be-secure ,設(shè)置為 Disabled ,重啟瀏覽器
方案二
降級到 Chrome 79 及以下版本,并關(guān)閉自動更新
方案三 (適用于 API)
將 API 切換為 HTTPS 協(xié)議(需要有 SSL 證書),并且檢查響應(yīng)頭中的 Set-Cookie 中是否包含了 SameSite=None 和 Secure字樣
如果沒有 HTTPS 協(xié)議的 API, 請嘗試 方案一 或 方案二
方案四
改造 http 服務(wù),購買 SSL 證書,升級到 https 服務(wù),并執(zhí)行方案三.1
同時后臺也可以改 但是我沒有試過
留下文章那個連接
https://blog.csdn.net/weixin_44269886/article/details/102459425
最后終于可以了 放下一口氣!
總結(jié)
以上是生活随笔為你收集整理的关于iframe中session 失效问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于父窗口获取跨域iframe子窗口中的
- 下一篇: js判断数组中对象是否存在某个值