用于执行限制的“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

下一篇: Empty "for" loop in Facebook ajax