这是一个对运用JSONP时存在的老问题的好心的提示.
因为跨域的限制, 我们需求运用JSONP来从 域1 接纳 域2 的数据. 我们运用 <script src="domain2?callback=CALLBACK"></script>这类方法来接纳数据, 这里的CALLBACK就是用于处置接纳到的数据的javascript函数. 这里有一条准绳就是 JSONP毫不能被用于处置个人数据(除非你有一个特别的令牌, 并且对每一个用户的令牌都纷歧样).
其它翻译版本 (1) 加载中 "我是谁"是一个机密。当我拜访一个新网站时,它不该该晓得我是谁,我的邮箱,我的名字,或是其它隐私信息。 JSONP 的一个常用的载体可所以:为何会呈现这类状况呢?由于有时在用处上 JSONP 被错用于个人数据的处置,这意味着开辟者在 web 平安上认识缺乏。但另有更风趣(或说蹩脚)的状况,比方,团队为完成某一个功用而添加了 Rack::JSONP 两头件,但它却被设计成对一切的 JSON 呼应都添加回调。你应当对你的代码有苏醒的看法。
API 毫不能经过 cookie 来检测用户(参考"破"饼干性质)。假如你经过网站"代办署理"你的API,应确保在恳求头中添加额定的 CSRF 令牌。对 GET 来讲也要异样。由于 CSRF 令牌的首要目的就是为了维护你的cookie。这不是关于 POST 或许 GET 的问题,这是关于你的cookie 能否有根据的问题。
其它翻译版本 (1) 加载中别的,非常多人常遗忘过滤和污染 "callback" 字段。这在 IE6-8 中可能招致 XSS进犯,由于它经过文件扩大名检测内容类型: URL/api.html?callback=<script>...</script>
这也能够便利绕开内容平安战略(否定第三方剧本起源)- <script src="local.json?callback=payload//">
我建议在 callback 中只答应[a-zA-Z0-9],但我更引荐运用 HTML5 的跨域分享技巧,而非这类不平安的花招。感激浏览,欢送分享。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务