RESTful Web服務安全

正如RESTfulWeb服務以HTTP URL的路徑工作,所以這是非常重要的,在相同的方式維護一個RESTful Web服務的網站是安全的。以下是在設計一個RESTful Web服務應遵循的最佳實踐。

  • 驗證 - 驗證伺服器上的所有輸入。防止SQL或NoSQL注入攻擊你的伺服器。

  • 基於會話的認證 - 使用基於會話的認證,每當一個請求到Web服務的方法來驗證用戶的身份。

  • URL沒有敏感數據 - 千萬不要使用用戶名,密碼或會話令牌的URL,這些值應通過POST方法傳遞給Web服務。

  • 方法執行限制 - 允許限制使用像GET,POST,DELETE等方法。 GET方法不應該用於刪除數據。

  • 驗證格式錯誤 XML/JSON - 檢查以及表單輸入傳遞到Web服務方法。

  • 拋出通用錯誤資訊 - Web服務方法應使用HTTP錯誤資訊像403,顯示禁止訪問等。

HTTP 代碼:

S.N. HTTP 代碼 & 描述
1 200
正確/正常, 顯示成功。
2 201
創建,當使用POST或PUT請求成功創建了資源。返回鏈接使用位置標頭新創建的資源。
3 204
無內容, 當回應主體是空的,例如,一個DELETE請求。
4 304
不修改, 用於減少以防條件GET請求的網路帶寬的使用。回應主體應該是空的。頭應該有日期,位置等。
5 400
錯誤的請求, 狀態表示無效輸入,例如提供驗證錯誤,數據丟失。
6 401
未經授權, 指出用戶正在使用無效或錯誤的身份驗證令牌。
7 403
被禁止, 指出用戶沒有訪問方法的使用,例如,刪除許可權沒有管理員許可權。
8 404
未找到, 狀態表示這個方法不可用。
9 409
衝突, 執行方法,例如,添加重複條目狀態的衝突的情況。
10 500
內部伺服器錯誤,狀態該伺服器已經在執行方法拋出了一些異常。


上一篇: RESTful Web Services緩存 下一篇: RESTful Services Java (JAX-RS)