2012-12-03 70 views
1

我正在將用戶狀態(登錄/用戶ID)存儲在應用引擎上的會話中。知道其他用戶UserId的用戶是否可以操縱他們的Cookie並以其他用戶身份登錄。App引擎會話安全問題

我應該採取哪些措施來防止這種情況發生?

回答

2

一個用戶無法直接訪問其他用戶的數據。但是,有一種方法可以讓一個用戶竊取另一個用戶的登錄會話。但是這不是特定於GAE的。

參見:

  1. http://en.wikipedia.org/wiki/Session_hijacking
  2. http://en.wikipedia.org/wiki/Cross-site_request_forgery(CSRF)

劫持可以很容易地在一個開放的WiFi熱點發生。一個常見的解決方案是用SSL託管您的網站。

當用戶登錄到您的網站並在同一瀏覽器中打開惡意網站時,會發生CSRF。有多種方法可以防止這種情況發生。一個常見的解決方案是在HTML表單中包含隨機的validation token。此外,請設置HTTP響應headerX-Frame-Options: sameorigin,並且檢查請求標頭X-Requested-With不等於非Ajax匹配的「XMLHttpRequest」。

XSS可以用來使這些攻擊更有效,所以也要防止它。

對於這些類型的攻擊一般來說,快速讓您的用戶sessions expire

+0

+1,你可以提到cookie falgs和owasp a9。 – rook

1

我不是安全專家。但我已經學會:

  • 使用HTTPS
  • 沒有幀使用
  • 使用在形成新的CSRF令牌爲每個請求
  • 並保存狀態在數據存儲,而不是使用一個會話cookie商店。