2015-07-20 80 views
1

我的問題可能是一個很常見的問題;) 我想實現一個網站的用戶會話。這些工作的限制是這些:禁用cookies,javascript,HTTP Referer和沒有GET/POST的網站會話?

  • 它必須工作沒有cookie,因爲他們可以被禁用。
  • 它必須在GET和/或POST表單變量內部不傳遞會話標識(或會話相關標識)的情況下工作。
  • 它必須在不檢查HTTP Referer頭字段的情況下工作,因爲這可能是空的。
  • 它必須沒有JavaScript的工作,因爲這可以被禁用。

我發現的唯一的東西是使用HTTPS(這是一個很好的選擇,無論如何...)和「摘要訪問認證」。唯一的缺點是MD5被用作被認爲不安全的哈希機制。

是否有任何建立用戶會話的方法,通過應用上述限制不能輕易被劫持? Digest訪問認證是否解決了這個問題,可能存在什麼缺點?

編輯: 我發現了另一種可能的方法:如果站點只有HTTPS,那麼可以在服務器端獲取SSL/TLS會話標識符(例如,如果在服務器端使用Perl,則使用mod_perl)並使用該會話ID。請注意,具有一個此類會話標識的用戶關聯必須單獨完成。但仍然採用這種方法,服務器端總是有一個有效的安全會話ID。 這是正確的嗎?

+0

將刪除Javascript標記。 – JavaScript

+0

完成。謝謝。 – kitomer

+0

您可以在路徑中傳遞會話ID。雖然容易劫持。 –

回答

0

如此地:https://security.stackexchange.com/questions/48856/is-using-an-ssl-session-id-along-with-a-cookie-based-session-verification-more-s

最簡單,最安全的方法(給我收集到現在爲止的信息)似乎是:

  • 該網站是HTTPS只。
  • 會話ID SSL/TLS會話標識符,此ID存儲在數據庫中,可能會或可能不會與用戶帳戶記錄關聯(用戶身份驗證使用HTTPS上的普通形式完成)。

如果有人有更好的方法,我會很樂意閱讀它。