2011-12-13 58 views
0

我的任務是嘗試解決網絡服務器中的會話管理問題。代碼用c編寫,很舊。會話僅限於爲新會話創建一個文件夾,並在頂部運行一個小小的php腳本,並檢查SID對登錄用戶有效。propiearatory網絡服務器中的會話管理

但是途中程序工作SID存儲在URL!所以任何複製粘貼都會導致會話劫持。現在我被告知它不可能改變SID存儲在URL中的事實。由於某些客戶在其瀏覽器中具有較高的安全設置,因此無法使用Cookie,因此這也無法更改。我能想到的唯一的事情是URL重寫將SID存儲在隱藏字段中,但我仍在等待來自我的經理的信息,我不認爲這是可能的,因爲HTML文件是預先寫好的,我不認爲有可能向他們添加隱藏字段,也許這可以通過服務器程序即時完成,我不確定。我最後的想法是使用令牌,或者只是在發現有不同的IP地址或用戶代理字符串時啓動新的會話,即使它具有有效的SID。

我真的不知道很多關於網絡安全,我從上大學的放置一年,主要是C語言編程,但已獲得此任務,我想嘗試和實現的東西一點點邊的項目。

你們有沒有任何指標? 我知道我一直很模糊,我不允許發佈任何代碼:(對不起 感謝您提前幫忙)

回答

0

即使已經存在的會話管理器,避免會話劫持的唯一方法是也驗證對客戶端的IP地址和可選的用戶代理字符串也是如此。任何其他建議可以做只是默默無聞,但不會有任何影響,如果有人決定嘗試侵入你的應用程序。

+0

但什麼關於局域網上的多個用戶使用相同的IP和可能的瀏覽器連接到互聯網?你如何識別會話劫持? –

+0

沒有可靠的方法來做到這一點,所以你無能爲力。在那個ca但是即使這樣也會減慢真正的攻擊者,因爲他們可以在局域網中被嗅探和竊取。 – Narf

+0

好吧,它看起來不太好。我知道所有這些預防措施只會降低攻擊者的速度。我認爲我們遇到的真正問題是複製和粘貼局域網中的鏈接,並且因爲我們擁有相同的IP,會話被劫持。它更關心員工之間的數據保密性,而不是阻止黑客。 –