作者m339606 (mize)
看板C_Sharp
標題[問題] 弔詭的Session消失問題
時間Wed May 15 10:05:53 2013
最近在檢查一個舊網站的弔詭Bug,不知道是否有人遇過呢?
code如下
index.aspx
---以上無程式碼
Response.AddHeader("P3P", "CP=CAO PSA OUR") '參考網路上作法,無效
Session("ID") = "123"
'Response.Write("<script>location.href='home.asp'; </script>") '同上,無效
'Response.Write(Session("ID")) '可正常印出
'Response.Redirect("home.asp", False) '網路作法,無效
Response.Redirect("home.asp") '原始做法,無效
---以下無程式碼
home.asp
---以上無程式碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="950"%>
<!--#include file="../Connections/con.asp" --> '純連線設定字串
<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%> '網路作法,無效
<%
Response.Write(Session("ID")) '無法印出
Response.end() '中斷
---以下"有"程式碼
在這樣的程式碼中
轉跳到home.asp之後Session就讀不到了。
(原始可以,在一次IIS服務當機重啟網站與SQL資料庫後就變這樣了)
為確認home.asp可以使用Session,在最上端加上以下CODE做測試
----------------------
Session("ID") = "123"
Response.Write(Session("ID")) '可正常印出
確認了home.asp可以正常的使用Session
於是在轉跳一次,這次轉跳到子目錄底下的檔案
Response.Redirect("test/test.aspx")
轉跳到子目錄後Session一樣消失無法讀出。
----------------------
P.s:ASP狀態服務已正常開啟
作業環境:Windows Server 2008、ASP + ASP.NET、IIS7、MS SQL 2005
檔案架構
index.aspx
home.asp
test/test.aspx
--
噓 Asbtt:生物沒學好喔?奶水又不是要給你喝的!去找母牛吧!
→ dixieland999:母牛:那我的奶水就是給你喝得嗎哞?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.48.234
推 Eleganse:既然跳到別的資料夾就會讀不到,那就寫在同個資料夾裡 05/15 22:13
→ m339606:從第一段index.aspx跳到同目錄的home.asp就會有這問題囉 05/15 22:18
推 Eleganse:這麼快回 看得出來心急如焚 ~ 雖然我也不大懂問題成因 05/15 22:20
→ Eleganse:但我注意到你的副檔名一個是asp,一個是aspx 05/15 22:20
→ Eleganse:寫一個叫home.aspx的東西看看吧 看讀不讀得到 05/15 22:22
→ Eleganse:先解決第一步 再想想怎麼解決第二步 05/15 22:22
→ soup514:asp asp.net的session本來就不共用 這樣是正常的啊 05/16 01:25
→ soup514:應該是之前session是存在sql server來達到共用 05/16 01:26
→ soup514:但iis、sql server當機 害得當初設定跑掉了吧 05/16 01:27
→ soup514:上網查查asp asp.net session共用吧 還是有很多方法的 05/16 01:28
→ m339606:感謝以上兩位指點,同樣aspx的網頁可以抓到,努力中 05/16 08:30