以前我经常在博客说JSONP,例如我的WordPress天气插件就是通过JSONP来调用的天气数据,今天就说说通过JSONP实现跨域的应用~
什么是JSONP
JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。如果要进行跨域请求,我们可以通过使用 html的script标记来进行跨域请求,并在响应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式称为JSONP。
对于上面的解释,我们可以简单这样理解:JSONP就是可以通过JavaScript文件进行跨域通讯的方式,例如:现在各大网站风靡的搜索提示,搜狗云输入法
注意:JSONP服务器端代码需要充分做好安全措施。
继续阅读全文……
昨天搜狗高调发布了云输入法~怀着一种崇敬的心理去看了一下搜狗云输入法~
看见有事添加收藏又是启动云输入法的~搞得好神秘~后来同事看了下收藏的代码,原来是一个js代码~
代码如下
javascript:void((function(){var%20n=navigator.userAgent.toLowerCase();ie=n.indexOf('msie')!=-1?1:0;if(document.documentMode)ie=0;charset='';
if(ie)charset=document.charset;src=ie&&charset=='utf-8'?'http://web.pinyin.sogou.com/web_ime/init2_utf8.php'
:'http://web.pinyin.sogou.com/web_ime/init2.php';element=document.createElement('script');
element.setAttribute('src',src);document.body.appendChild(element);})())

根据搜狗云输入法山寨的云输入法-仅仅娱乐
原来是创建了一个js文件引入了http://web.pinyin.sogou.com/web_ime/init2.php或者
http://web.pinyin.sogou.com/web_ime/init2_utf8.php作为js文件,打开js文件一看,还是用eval加密的文件内容呢~
继续阅读全文……