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