2012-10-09 64 views
2

我正在爲webapp製作一個RESTful API。使用put或delete(vs post)發送登錄憑證是否安全?

因爲一旦用戶退出瀏覽器,一些移動瀏覽器會刪除客戶端Cookie,我使用local.storage來存儲用戶的密鑰,該密鑰可以發送到API以驗證用戶身份。

鑑於密鑰足夠長,變化頻繁,所有通信都通過https發生,使用put或delete發送密鑰是否安全?我的理解是,如果我使用get,那麼鍵可以留在瀏覽器歷史記錄中,惡意用戶可以使用它來訪問用戶的帳戶。相反,郵政更安全。如何放置或刪除?

回答

1

如果可能,我會通過HTTP頭髮送密鑰;這樣,它不會不管你使用哪種方法,無論是GET,POST,PUT等

參見:setRequestHeader()

0

如果使用GET和有作爲參數發送,然後絕對關鍵是不安全的。瀏覽器將緩存URL,這意味着密鑰將在歷史中可用。爲了安全起見,我會把它們放在標題中。

如果你真的對安全感興趣,但可以使用類似挑戰 - 響應身份驗證模式(或此模式的多種變體)。我想你自己在正確的軌道上,因爲你經常提到你的關鍵變化。真正的問題是你如何在客戶端抓住該密鑰(安全嗎?)...

相關問題