2016-09-23 40 views
0

我目前正在爲銀行開發Rest API。在Rest API中,原則URI是唯一標識。這意味着我們必須通過在請求URL 例如資源ID:在URI中傳遞資源ID的最佳安全做法

  • GET /客戶/
  • PUT /客戶/
  • DELETE /客戶/

但問題是,在我的由於安全原因,銀行通過傳入ID的URI。 (URI可以讀取任何一個)

有人能告訴我有沒有任何行業級的最佳實踐來克服這個安全問題,而不違反休息資源命名原則?

+0

你確定你被禁止將URI放入URI嗎?我知道他們不希望你傳遞任何敏感數據,如會話ID或信用卡號碼,這確實是最好的做法,由於幾個原因(請求URL登錄到客戶端,代理,也可以在監視器上看到某個時候等等)但是一般來說任何資源ID?這不會有很大的意義。 –

+0

哇,哪家銀行? –

回答

1

但是由於安全原因,問題在於我的銀行在URI中禁止傳入id。 (URI可以讀取任何一個)

也就是說,如果你沒有使用TLS/SSL,這反正是在銀行等安全關鍵環境中不行的!如果有人能夠讀取您的請求,他能夠讀取您的HTTP流量,因此沒有真正的方法來保護通過此線路發送的任何可靠信息,無論是在URL中,還是在標題或內容中!

如果您無法在URI中添加任何內容,您將難以開發乾淨簡潔的restfull HTTP API!

+0

我們使用TLS/SSL。如果是這樣,你可以保證在URL中傳遞ID的時候沒有安全問題? – Dinusha

+1

如果做得對;當然! TLS加密HTTP端點之間的所有通信,請參閱TLS:https://de.wikipedia.org/wiki/Transport_Layer_Security – enzian

+0

但URL可以是現金或保存在瀏覽器歷史記錄中。 – Dinusha

相關問題