RESTful Web Services – 安全性

RESTful Web Services – 安全性

由于RESTful Web Services是使用HTTP URL路径进行工作的,因此在同样的方式下为RESTful Web Service提供保护是非常重要的。

以下是在设计RESTful Web Service时应遵守的最佳实践:

  • 验证 − 在服务器上验证所有输入。保护您的服务器免受SQL或NoSQL注入攻击。

  • 基于会话的身份验证 − 使用基于会话的身份验证以在请求Web Service方法时对用户进行身份验证。

  • URL中不含敏感数据 − 永远不要在URL中使用用户名、密码或会话令牌,这些值应通过POST方法传递到Web Service。

  • 方法执行受限 − 允许受限制使用GET、POST和DELETE方法。GET方法不应该能够删除数据。

  • 验证格式错误的XML / JSON − 检查传递给Web Service方法的格式正确的输入。

  • 抛出通用错误消息 − Web Service方法应使用HTTP错误消息,如403表示访问被禁止,等等。

HTTP状态码

序号 HTTP代码及描述
1 200 OK − 显示成功。
2 201 CREATED − 当使用POST或PUT请求成功创建资源时。返回新创建的资源的链接使用位置标头。
3 204 NO CONTENT − 当响应体为空时。例如,DELETE请求。
4 304 NOT MODIFIED − 在条件GET请求的情况下降低网络带宽使用。响应体应为空。头应该有日期、位置等。
5 400 BAD REQUEST − 指出提供了无效输入。例如,验证错误、缺少数据。
6 401 UNAUTHORIZED − 指出用户正在使用无效或错误的身份验证令牌。
7 403 FORBIDDEN − 指出用户没有访问使用的方法。例如,没有管理员权限的删除访问。
8 404 NOT FOUND − 指出该方法不可用。
9 409 CONFLICT − 指出在执行该方法时发生冲突情况。例如,添加重复条目。
10 500 INTERNAL SERVER ERROR − 指出在执行该方法时服务器抛出了一些异常。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程