ajax实现垮域访问初探

魅影龙骑士

魅影龙骑士

2016-02-19 22:28

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐ajax实现垮域访问初探,赶紧看过来吧!

  这个应该归到javascript的安全性问题一般服务器A设置的是不允许别的域的机器B执行B上的ajax调用服务器A上的资源原因,可以举个简单的安全隐患例子:
  假设ajax可以垮域访问,那么我在自己机器上可以写ajax请求Google各类web应用中的资源比如先用firefox研究GMail在登录过程中大量ajax请求的地址以及参数,可以得到用户cookie的验证过程然后写js去跨域获取别的用户的cookie,这样可以绕过用户的GMail密码而登入他人的GMail邮箱

  那么有了ajax跨域限制,是不是就真的不能做ajax垮域访问了?
  ajax垮域确实不行,但是我们可以中转实现,也就是所谓的代理
  原理很简单,在自己的js跟远程服务器A的资源之间架设一个自己的容器
  可以用asp、php、java、.net等所有可以的动态web语言
  以asp为例(获取热得快网站某个用户的好友列表,返回xml数据格式)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  %
  p = "http://redekuai.com/api/user_friends_xml/funy"
  Response.BinaryWrite ZQcnGet(p)
  Response.Flush
  Function ZQcnGet(url)
  Set Retrieval = CreateObject("Microsoft.XMLHTTP")
  With Retrieval
  .Open "Get", url, False, "", ""
  .Send
  ZQcnGet = .ResponseBody
  End With
  Set Retrieval = Nothing
  End Function
  %
  这段代码保存为一个proxy.asp,然后放到IIS里,这个时候就可以随便找个机器写js了,用ajax请求proxy.asp,最后相当于实现了ajax垮域访问
  php的示例代码更简单
  echo file_get_contents("http://redekuai.com/api/user_friends_xml/funy"");
  ?
  注:php版本需要= 4.3.0

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  再给个asp.net(C#)版本的示例代码:

  using System.Net;
  using System.IO;
  using System.Text;
  public partial class ajaxpages: System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          WebRequest wr = WebRequest.Create("http://redekuai.com/api/user_friends_xml/funy");
          WebResponse wres = wr.GetResponse ();
          Encoding resEncoding = System.Text.Encoding.GetEncoding("utf-8");
          StreamReader sr = new StreamReader(wres.GetResponseStream(), resEncoding);
          string html = sr.ReadToEnd();
          Response.Write(html);
          sr.Close();
          wres.Close();
      }
  }
  分别为proxy.asp proxy.php proxy.aspx
  那么做好代理,实现了自己一般机器(非web服务器)上js垮域访问远程网站资源有什么实际的意义呢?
  要知道,现在的互联网技术已经进入了绝对的Mashup时代
  老美有2k多个公司靠做facebook的APP存活着,国外的这种产业链真的不能在国内发展吗?要知道5年后互联网也会成为中国的基础设施了
  已经有做的比较好的web2.0站点在开放API(又拍、热得快)或者准备开放

展开更多 50%)
分享

猜你喜欢

ajax实现垮域访问初探

Web开发
ajax实现垮域访问初探

成功实现ajax xmlhttp跨域访问

Web开发
成功实现ajax xmlhttp跨域访问

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

成功实现ajax,xmlhttp跨域访问

Web开发
成功实现ajax,xmlhttp跨域访问

AJAX javascript的跨域访问执行

Web开发
AJAX javascript的跨域访问执行

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ajax跨域访问的解决方案

Web开发
ajax跨域访问的解决方案

解决AJAX 跨域访问完整解决方案

Web开发
解决AJAX 跨域访问完整解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML简易教程之一

XML简易教程之一

XML入门的常见问题(二)

XML入门的常见问题(二)
下拉加载更多内容 ↓