[問題] asp.net session與cookie時效問題?

看板C_Sharp (C#)作者 (Orz)時間3年前 (2021/04/15 21:29), 編輯推噓1(1012)
留言13則, 3人參與, 3年前最新討論串1/1
目前在使用session上碰到一些問題. 環境是iis(版本不確定) c# asp.net寫的 使用者登入登出其實都沒問題, 可是如果是使用fiddler做代理. 點了登出把session 做了abandon,removeall, 也做了cookie 清空asp.net_sessionid Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId","")) 此時把當初fiddler記錄到的request做replay, iis server還是會回應相對應的cache. 導致只要能監聽到相對應的封包,就可以取得server同樣的回應. 如果replay時也要把回應的這些cache都不回應的話, 應該從code本身的登入機制著手呢? 還是該往iis server設定的方向去著手?(例如header no-cache等等的方法) 不知道大家有沒有什麼想法可以建議呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.125.145 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1618493374.A.0D6.html

04/21 12:22, 3年前 , 1F
可能要先弄清楚session實際的運作機制,根據內文上
04/21 12:22, 1F

04/21 12:22, 3年前 , 2F
來看,你的方向是錯誤的
04/21 12:22, 2F

04/22 15:19, 3年前 , 3F
Session.Abandon、RemoveAll應該都只是清掉session存的東西
04/22 15:19, 3F

04/22 15:21, 3年前 , 4F
Cookie是給正常的那個client指示,你用另一個client去repla
04/22 15:21, 4F

04/22 15:22, 3年前 , 5F
y那就跟Cookie怎麼設沒關係,要擋這個需要的是server-side
04/22 15:22, 5F

04/22 15:23, 3年前 , 6F
要invalidate SessionId→登入狀態這個關係
04/22 15:23, 6F

04/22 15:26, 3年前 , 7F
其實一般的Web framework都會在lougout時自己處理這個,但
04/22 15:26, 7F

04/22 15:26, 3年前 , 8F
ASP.NET就是不會,SessionId一發出去就要到期才失效
04/22 15:26, 8F

04/22 15:27, 3年前 , 9F
要解決這問題就是你自己要多實作一個記錄登入狀態的機制
04/22 15:27, 9F

04/22 15:29, 3年前 , 10F
每個request來你要多檢查你自己管理的狀態是不是已登出
04/22 15:29, 10F

04/22 15:34, 3年前 , 11F
這問題10幾年來就是沒修,應該可以找到很多解法...
04/22 15:34, 11F

04/23 07:11, 3年前 , 12F
感謝以上兩位提供意見,最後還是在session logout時
04/23 07:11, 12F

04/23 07:11, 3年前 , 13F
紀錄session id,然後做判讀,若有相同session來就redirect
04/23 07:11, 13F
文章代碼(AID): #1WU3--3M (C_Sharp)
文章代碼(AID): #1WU3--3M (C_Sharp)