應我的顧慮是什麼,如果我我們要進行的處理登錄以下方式提出申請:安全:強制通過URL強制GET請求?
http://api.myApp.example/printSomething/username/password/
它是如何不安全的比較是基於上公佈的用戶資料正常登錄頁面(用戶名+密碼)?有區別嗎?
感謝
應我的顧慮是什麼,如果我我們要進行的處理登錄以下方式提出申請:安全:強制通過URL強制GET請求?
http://api.myApp.example/printSomething/username/password/
它是如何不安全的比較是基於上公佈的用戶資料正常登錄頁面(用戶名+密碼)?有區別嗎?
感謝
其實,這是沒有太大的差別,你只是讓攻擊者周圍一步比較容易混亂。
但是:網址經常保存在瀏覽器歷史記錄,日誌等中,這意味着任何訪問瀏覽器(或訪問該URL)的人都可以看到用戶名和明文密碼。
更新:
關於這個問題的標題,並澄清我的回答:
兩個GET
和POST
請求可以很容易地利用做蠻力攻擊。使用GET
,您可以使攻擊者更容易手動執行此操作,但通常這些都是自動攻擊,即執行這些請求的應用程序,因此所使用的HTTP方法完全不相關。
永遠也不能選擇過另一種HTTP方法防止香檳力攻擊。
你必須在服務器端做這樣的事情,例如,限制一個IP每分鐘訪問的次數。
HTTP請求可以(也應該)被加密,因此閱讀它可能比獲取瀏覽器歷史記錄(或查看用戶的肩膀)困難得多。 – Amnon 2010-07-04 16:08:38
@Amnon:雖然這是絕對正確的,但我更側重於這個問題的強力方面。我已經更新了我的答案以澄清這一點。 – 2010-07-04 16:11:49
不同的是,該密碼在地址欄是可見的,並且該用戶進入您的網站可以在參照標頭看到用戶的密碼的網站。
那是一個很不錯的,顯而易見的原因:) – Industrial 2010-07-04 15:55:04
+1不那麼明顯的原因;) – zaf 2010-07-04 16:38:55
+1'不同的是,該密碼是在地址bar'可見。這些都是清楚的話。 – Sarfraz 2010-07-04 17:09:30
是否有你需要通過GET而不是POST向它發送一個特定的原因是什麼?的 – xil3 2010-07-04 15:52:21
可能重複[是否安全通過登錄憑據作爲一個HTTPS URL純文本?](http://stackoverflow.com/questions/3150672/is-it-secure-to-pass-login-credentials-as-純文本在一個HTTPS的網址) – Piskvor 2010-07-04 16:00:50