RESTful Web 服务 - 安全性
生活随笔
收集整理的這篇文章主要介紹了
RESTful Web 服务 - 安全性
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
因為 RESTful Web 服務(wù)使用 HTTP URLs 路徑,因此以保護(hù)網(wǎng)站同樣的方式維護(hù) RESTful Web 服務(wù)是非常重要的。以下是設(shè)計 RESTful Web 服務(wù)時要遵循的最佳實(shí)踐。
- 驗證?- 驗證服務(wù)器上的所有輸入。保護(hù)服務(wù)器免受 SQL 或者 NoSQL 注入攻擊。
- 基于會話的認(rèn)證?- 請求一個 Web 服務(wù)方法時使用基于會話的認(rèn)證對用戶進(jìn)行身份驗證。
- URL 不要有敏感數(shù)據(jù)?- 永遠(yuǎn)不要在 URL 中使用用戶名,密碼或者會話標(biāo)記,這些值應(yīng)該通過 POST 方法傳遞給 Web 服務(wù)。
- 限制方法執(zhí)行?- 允許限制使用方法,比如 GET,POST,DELET。GET 方法不應(yīng)該能夠刪除數(shù)據(jù)。
- 驗證有缺陷的 XML/JSON?- 檢查格式良好的輸入傳遞給 Web 服務(wù)方法。
- 拋出通用錯誤消息?- Web 服務(wù)方法應(yīng)該使用 HTTP 錯誤消息,比如 403 展示禁止訪問等。
HTTP 狀態(tài)碼
| 1 | 200? OK?,顯示成功。 |
| 2 | 201? CREATED?,當(dāng)資源使用 POST 或者 PUT 請求建立成功時。使用位置頭返回新建資源的鏈接。 |
| 3 | 204? NO CONTENT?,當(dāng)響應(yīng)體為空時。比如,DELETE 請求。 |
| 4 | 304? NOT MODIFIED?在有條件的 GET 請求的情況下用于減少網(wǎng)絡(luò)帶寬的使用。響應(yīng)體應(yīng)該為空。頭信息應(yīng)該包含日期,位置等。 |
| 5 | 400? BAD REQUEST?,指出提供的輸入無效。比如驗證錯誤,數(shù)據(jù)缺失。 |
| 6 | 401? UNAUTHORIZED?,指出用戶正在使用無效的或者錯誤的認(rèn)證令牌。 |
| 7 | 403? FORBIDDEN?,指出用戶沒有使用訪問方法。比如,沒有管理員權(quán)限訪問刪除操作。 |
| 8 | 404? NOT FOUND?,指出該方法不可用。 |
| 9 | 409? CONFLICT?,指出執(zhí)行方法時沖突,比如添加重復(fù)的條目。 |
| 10 | 500? INTERNAL SERVER ERROR?,指出執(zhí)行該方法時服務(wù)器拋出了一些異常。 |
總結(jié)
以上是生活随笔為你收集整理的RESTful Web 服务 - 安全性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RESTful Web 服务 - 缓存
- 下一篇: RESTful Web 服务 - Jav