2017-02-15 58 views
0

HTTP GET方法將通過URL傳輸數據,如https://www.example.com/users?id=1。如果我使用HTTPS,連接將是安全的,但鏈接中的敏感數據仍然可以記錄在服務器上,處理客戶端請求的鏈接,從而泄露稍後被某些黑客獲取的祕密。如何保護REST GET方法?

OWASP recommends不在鏈接上存儲任何內容,因爲它可以在Web服務器上登錄。

但是REST使用GET來檢索數據,因爲在CRUD操作中會出現「讀取」。

所以問題是,如何在REST上進行安全的GET調用?


編輯:舉個例子:OWASP說,不包括在URL地址的API密鑰,但由於對GET請求發送的所有數據被放置在URL,我將如何發送API密鑰來其他服務器授權來自該用戶的GET響應,因爲我不能將它放在URL本身上?

OWASP沒有解釋如何實現這一點。

+0

您應該對這些敏感數據的真實含義有所瞭解。不同種類的數據需要不同的保護。 – DaSourcerer

+0

我的意思是任何數據,如果記錄將被泄露。這不是關於如何保護通過GET傳輸的內部數據,而是如何安全地使用GET的問題。 – mFeinstein

+0

我明白了。再說一遍:什麼樣的數據? – DaSourcerer

回答

2

編輯:一個例子:OWASP說不在URL地址中包含API密鑰,但由於GET請求上發送的所有數據都放在了URL上,我如何將API密鑰發送給服務器其他來授權來自該用戶的GET響應,因爲我不能將它放在URL本身上?

你錯了,所有的數據都必須在URL中指定。實際上有很多東西進入HTTP頭文件中!您應該使用Authorization表頭而不是網址中的API密鑰。

+0

我是新的到REST網絡編程,我在香草javascript和jquery上看到的所有AJAX請求都通過了服務器GET URL的所有數據。 – mFeinstein

+0

@mFeinstein k現在你知道要尋找什麼。 – Evert

+0

是的,非常感謝! – mFeinstein