基于 HTTPS 的 JSONP
Posted
技术标签:
【中文标题】基于 HTTPS 的 JSONP【英文标题】:JSONP over HTTPS 【发布时间】:2013-01-04 07:48:43 【问题描述】:是否可以通过 https 从域 http://www.a.com(不受我控制)向域 www.b.com(受我控制)发送 jsonp 请求?如果是这样,GET-Request 中的参数值是加密的还是以纯文本形式记录在 access-logs 中?
我正在寻找一种安全的方式来进行跨域请求。不幸的是,通过 CORS 请求/SSL 的 POST 语句不适用于 Internet Explorer。它不支持通过 Access-Control-Allow-Credentials 设置 cookie。有没有其他方法可以实现这个目标?
【问题讨论】:
你正在使用哪个版本的 IE,或者它们都影响到 v10? IE blogs.msdn.com/b/ieinternals/archive/2010/05/13/…) 并且 IE 10 在使用 withCredential=true 时可能存在错误(caniuse.com/#feat=cors -> 已知问题) 【参考方案1】:对于问题的第二部分,HTTPS 只会加密请求用于传输数据的通道。一旦它到达网络服务器,所有请求参数都将以纯文本形式记录在您的访问日志中。
您需要使用 POST 请求来防止将数据写入访问日志。但是,您不能在 POST 请求上使用 JSONP(无法使用标签发送 POST 请求)。
【讨论】:
以上是关于基于 HTTPS 的 JSONP的主要内容,如果未能解决你的问题,请参考以下文章