首先,請不要忽視這個問題 - 我知道這是一個醜陋的情況,但嘿,現實生活並不漂亮。從php檢測到過期的asp.net會話
我正在開發一個額外的部分到一個在asp.net中編寫的web應用程序,但在php中 - 它主要是完成的(這兩部分在數據庫之外並不真正相互通信 - 集成主要只是化妝品。)
我從PHP的一部分檢測時,.NET會話已過期,使其註銷用戶,並重定向到登錄頁面的唯一問題。
我相信asp.net應用程序是編譯的,但無論哪種方式,我不允許改變它,所以我想可能最好的辦法是做一個非常小/簡單的aspx頁面,輸出真正的或錯誤,我可以調用使用curl從PHP(並通過瀏覽器的cookie一起。)
這將甚至可能嗎?我不確定會話安全性如何在asp.net上工作,例如,一個.net應用程序是否可以讀取另一個會話變量,但是如果它是像php那樣的話,那麼它將成爲可能。
mypage.php --curl--> checksession.aspx --|
| |
<----------- true/false <---------------
所以我的空間問題GET(與瀏覽器cookie)使用捲曲checksession,checksession簡單地返回一個true或false(或類似的東西)和我的頁面重定向到該網站的登錄頁面,如果這是假的。
php方面的驗證已經整理出來,並且與此問題分開。
所以真的,我需要知道的是我可以只是一個簡單的.aspx文件,做此檢查,如果是的話,我會去找出如何編程這樣一個簡單的頁面?如果它只是一條線,三,請你能不能讓我知道的那些行會是什麼(我很抱歉,我從來沒有做過任何.NET的東西..)
如果這是不可能的,那麼如果你不介意,你能否提供一些替代解決方案?謝謝!
- 編輯 -
花費最多的一天這個問題之後,我現在想的是使用PHP在所有來解決這個問題是一個壞主意。實際上有兩個級別的身份驗證(一個是普通的HTTP請求/響應登錄類型的事情,然後是.net會話) - 最重要的是我完全錯過了這一點,顯然這些會話幾乎肯定會由用戶瀏覽器的IP,我將不得不欺騙或者因捲曲而來的東西在服務器上運行。
所以我想我會在某個地方使用jQuery在我的網頁的頭以檢查和重定向嘀......莫名其妙:/
- EDIT 2 - 好了,JavaScript的方式了適合我的需求非常好 - 顯然這不是做事的安全方式,但幸運的是在這種情況下,它的確定,因爲這僅僅是在Intranet上使用的應用程序
另一種更醜陋的替代方法是使用curl來查看返回的頁面是否是登錄頁面本身並從那裏開始......但這非常難看。 – 2011-02-23 01:27:35
另一個更醜陋的事情就是使用curl來ping通aspx頁面以保持會話活着。 – 2011-02-23 01:28:15