由于RESTful Web服务使用HTTP URL路径,因此以与网站安全相同的方式保护RESTful Web服务非常重要.
以下是最佳实践在设计RESTful Web服务时遵守;减去;
验证 : 验证服务器上的所有输入.保护您的服务器免受SQL或NoSQL注入攻击.
基于会话的身份验证 : 每当请求Web服务方法时,都使用基于会话的身份验证对用户进行身份验证.
URL中没有敏感数据 : 去;切勿在URL中使用用户名,密码或会话令牌,这些值应通过POST方法传递给Web Service.
对方法执行的限制 : 允许限制使用GET,POST和DELETE方法等方法. GET方法不应该删除数据.
验证格式错误的XML/JSON : 检查传递给Web服务方法的格式良好的输入.
抛出一般错误消息 : Web服务方法应使用403错误消息来显示禁止访问等.
HTTP代码
Sr.No. | HTTP代码&描述 |
---|---|
1 | 200 确定 : 显示成功. |
2 | 201 创建 : 使用POST或PUT请求成功创建资源时.使用位置标题返回指向新创建资源的链接. |
3 | 204 无内容 : 当响应体是空的.例如,DELETE请求. |
4 | 304 NOT MODIFIED : 用于在条件GET请求的情况下减少网络带宽使用.响应体应该是空的.标题应该有日期,位置等. |
5 | 400 BAD REQUEST : 说明提供了无效的输入.例如,验证错误,缺少数据. |
6 | 401 未经授权 : 声明用户正在使用无效或错误的身份验证令牌. |
7 | 403 FORBIDDEN : 说明用户无权访问正在使用的方法.例如,删除没有管理员权限的访问权限. |
8 | 404 未找到 : 声明该方法不可用. |
9 | 409 CONFLICT : 在执行方法时陈述冲突情况.例如,添加重复条目. |
10 | 500 内部服务器错误 : 说明服务器在执行方法时抛出了一些异常. |