发布于 2015-08-12 14:16:28 | 356 次阅读 | 评论: 0 | 来源: 网络整理
正如RESTfulWeb服务以HTTP URL的路径工作,所以这是非常重要的,在相同的方式维护一个RESTful Web服务的网站是安全的。以下是在设计一个RESTful Web服务应遵循的最佳实践。
验证 - 验证服务器上的所有输入。防止SQL或NoSQL注入攻击你的服务器。
基于会话的认证 - 使用基于会话的认证,每当一个请求到Web服务的方法来验证用户的身份。
URL没有敏感数据 - 千万不要使用用户名,密码或会话令牌的URL,这些值应通过POST方法传递给Web服务。
方法执行限制 - 允许限制使用像GET,POST,DELETE等方法。 GET方法不应该用于删除数据。
验证格式错误 XML/JSON - 检查以及表单输入传递到Web服务方法。
抛出通用错误信息 - Web服务方法应使用HTTP错误信息像403,显示禁止访问等。
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 内部服务器错误,状态该服务器已经在执行方法抛出了一些异常。 |