在我們的項目中,我們想要保護匿名攻擊者(通過中間人或任何技術)的用戶密碼。所以我通過Fiddler探索了一個登錄頁面的HttpRequest。以下鏈接將解釋我得到的小提琴手http://www.sharexfiles.com/image/2015-02-24_113847_0.jpg。 (請注意請求文本 - 紅色和綠色視圖狀態)。在asp.net頁面中保護密碼視圖狀態
爲了保護視圖狀態,我在配置enableViewStateMac="true" viewStateEncryptionMode="Always"
中添加了以下內容,然後我的HttpRequest在鏈接http://www.sharexfiles.com/image/2015-02-24_114302.jpg中看起來如下所示。請注意這裏的綠色和紅色塊。
我的問題是基於上述情況,我的視圖狀態已加密(即以綠色顯示),但我的請求未加密(以紅色顯示),因此我的密碼清晰可見。攻擊者是否可以通過任何方式獲得此請求(以紅色塊)以知道用戶的密碼?無論如何,我可以檢查我發送的請求是否安全從客戶端到服務器?
注意:我在此項目中使用SSL(HTTPS)。相應地爲此提供答案將是很好的。
感謝您的幫助。 :)
爲什麼要在視圖狀態下存儲密碼?作爲標準做法,密碼不存儲在視圖狀態中。如果信息不正確或登錄失敗,用戶應重新輸入密碼。 – TejSoft 2015-02-24 04:20:01
Tej,我沒有在ViewState中保存密碼,但是ASP.Net中的所有字段/文本框的值將被存儲爲隱藏的值/視圖狀態,我想。在請求服務器時,我的密碼以純文本形式發送,這是我的關注點。 – 2015-02-24 05:31:31
你最好打賭的是有傳輸層加密或SSL。當您在SSL下提交頁面時,表單數據將被加密,並在通過網絡發送到服務器時。如果viewstate中的表單數據存儲在本地瀏覽器中,並且沒有人正在閱讀(希望),所以它非常安全。 – TejSoft 2015-02-24 05:51:37