【发布时间】:2017-04-02 15:44:57
【问题描述】:
我想找到一种通用方法来在 HTTP 请求内容到达服务器之前对其进行验证。
目标是为产品提供强大的安全性。
我有一个公开的 API,我想通过任何允许以下规则的代理过滤对我的 API 的请求。
例如我的 API 方法之一:
POST: my_server/data/colection
application/json
{
"key1": "stringValue",
"key2": 2,
"key3": true
}
我想验证以下事实:
- 请求正文是有效的 JSON 对象
- “key1”为字符串,必填,允许[a-z,0-9],最大长度50个字符。
- “key2”为数字,必填,取值范围为1-1000
- “key3”是布尔值,可选
如果请求的内容或架构不符合上述条件,我想使用适当的状态代码拒绝请求。
是否有任何服务或代理模块(nginx、haproxy 或任何其他)允许执行此类操作?
附:即使是部分解决方案也可能有效。
【问题讨论】:
标签: security nginx haproxy gateway