2011-03-28 56 views
0

因此,我的前提是:Web應用程序具有基本主頁,可讓用戶註冊或登錄。當用戶登錄(在SSL連接上)時,證書在客戶端和服務器之間安全地傳輸以進行驗證。成功驗證憑證服務器如何維護傳入連接是相同的已驗證用戶而不是其他人?如何在整個Web應用程序中持續驗證身份驗證

有關更具體的示例,假設服務器發回身份驗證令牌供用戶在訪問或修改私人數據時使用。只要用戶使用令牌從服務器訪問他們的信息和POST(或更糟糕的GET),無論這個令牌存儲在何處(例如:cookie(不安全),php會話(不太熟悉)或其他地方)只要令牌有效,監聽就可以使用該令牌訪問帳戶。每次訪問私人信息時,是否必須發佈新的令牌,以便聆聽者只落後一步,並且只能訪問舊令牌?

有什麼方法可以讓服務器知道請求來自經過身份驗證的用戶,並且不斷讓用戶訪問他們的賬戶?

回答

1

只需更改您的會話ID或標記或任何內容,都不會對您有所幫助。使用自動化很容易。

使用SSL,你有第一步... ...。這有助於防止某人首先獲取數據。

您還應該跟蹤服務器上的客戶端IP地址,以便如果您收到特定會話的請求並且IP不匹配,您馬上就知道某人正在欺騙或用戶擁有一個新的地址,他們應該重新認證。

還有很多其他的方法。我已經看到了一些堆棧溢出。我會在發現它們的時候在這裏發佈它們,但通常最好使用技術組合。

+0

我想過使用客戶端的IP與令牌。兩者在一起將明確地幫助,但我注意到當我的家庭服務器上測試時,我的電腦和我的gf的pc被視爲相同的IP,因爲他們在同一個路由器後面。因此,在同一個網絡上監聽的人不需要欺騙他們的IP,路由器就是這樣做的。除非我還在RemotePort中添加。如果沒有管理員權限,無法在路由器上欺騙那個人 – Spidy 2011-03-28 03:37:56

+0

您絕對不能依賴遠程端口。客戶可以使用它想要的任何端口,並且不應該依賴它每次都是同一個端口。你和你的女朋友顯示爲同一個IP的原因是你只有一個實際的公共IP地址。其餘部分位於私有子網中,並且NAT用於遍歷這兩個網絡。你無能爲力,所以不要浪費時間。 – Brad 2011-03-28 03:51:29

+0

此外,你一定可以選擇任何你想連接到服務器的端口。沒有必要更改路由器,它與它無關。所以,即使你可以依靠它對於一個特定的用戶來說是一樣的,但它很容易「欺騙」...不需要欺騙,只需使用相同的端口即可。 – Brad 2011-03-28 03:53:20

相關問題