用于执行限制的“Origin”http头的兼容性
我正在构建一个RESTful JSON API,我担心JSON数据被盗用和跨站点请求伪造。
为解决这两个问题而创建的一个好的解决方案是Origin http标头。 但是我担心这种方法与所有现代浏览器都不兼容。 这是一个有效的关注吗? 由于兼容性问题,Origin http头是无用的吗? 执行HTTP referer检查时,是否应该考虑源?
以下是兼容浏览器和已知问题的列表。 如果你能忍受这些限制,现在取决于你:
我可以用吗...
这是一个值得关注的问题。 有人可能会使用不完全支持它的旧版浏览器。 测试版本中可能还有一个错误。
另外考虑将X-Frame-Options: SAMEORIGIN
到您的JSON API中,以防止某人将您的网站加入iframe。
还要考虑将返回的JSON响应添加特殊字符并手动将它们剥离到您的JSON解码器中。 Google就是这么做的:为什么Google会在(1); 到他们的JSON响应?
对于额外的额外安全性,还要考虑为每个请求包含一个随机数,并签署请求以验证它来自您的代码而不是钓鱼网站。 这与OAuth1.0的工作原理类似。 另一种方法是为每个会话生成一个令牌,该令牌会自动过期,并在需要时刷新令牌。 这就是OAuth2.0的工作原理。 这允许根据需要使访问失效,例如,如果发现错误,则旧客户端必须升级。
链接地址: http://www.djcxy.com/p/8383.html上一篇: Compatibility of the "Origin" http header for enforcing restrictions