2010-05-07 91 views
1

我有關於json web服務安全性的問題。 我試圖用json webservice開發一個示例web應用程序,但問題是url已經暴露在客戶端。因此,任何人都可以創建一個程序並調用服務一千次。 請注意,Web服務將用於註冊頁面,在該頁面中檢查用戶是否存在於數據庫中。因此,此過程沒有發生認證。json webservice安全性

什麼是安全調用暴露的Web服務的方法?

+0

這不是一個* web服務*的想法嗎?它很容易通過機器訪問? – Boldewyn 2010-05-07 07:54:37

回答

2

這是我會做:

  1. 把Web服務與外部世界(而不是使你的web服務的公共接口,即,使認證層的公共API)之間的驗證層。

  2. 獲取認證層,然後代表調用者調用web服務。

這樣,您就可以在身份驗證層實現業務邏輯 - 例如,只是拒絕一個正在嘗試DOS攻擊的調用者,或者調用一個不可信的IP地址等等。

另外你的API是內部的,所以沒有人可以調用它(你可以在web服務中實現更多的邏輯確保它只處理來自本地主機的請求

這是我將使用的配置。一般來說,向公衆公開API並不是一個好主意,除非您希望人們調用它並可能濫用它,時間

+0

嗨morpheous,請你給我一個上述方法的示例實現。謝謝 – user335160 2010-05-07 08:55:45

0

沒有100%的防守。無論如何,有人可以製作程序並使用您的服務。你可以讓程序員更努力地工作。

您可以做的主要事情是在返回結果之前進行延遲並限制一個ip的連接數。您還可以在您的服務請求中註冊頁面上放置類似會話ID(即5-10分鐘內)的內容必須存在

0

你可以通過調用者IP過濾請求,如果一個IP在一分鐘內調用你的API 100次,它就是濫用,並且阻止了它的下面的連接。有時間尊重動態IP。