flex跨域安全访问的问题

BS adobe 所谓的这种安全限制,没起到什么保护的作用,到时增加了麻烦~

 

BS adobe 所谓的这种安全限制,没起到什么保护的作用,到时增加了麻烦~

根据flash的sandbox安全模型要求,A域名下的flash文件只能从A域名中获取服务端数据,如果需要从B域名中提取数据,需要B域名配置一个crossdomain.xml的文件,允许A从B

下载数据,但是我们不可能有这样的公关能力要求腾讯在http://weather.qq.com/下面放一个xml文件,允许其他网站访问,因此只能另辟蹊径:

方案1:A域名下自己实现一个代理,从B域名网页下载数据返回,这样就回避了sandbox的安全性错误,Line 26-28注释的代码就是我用java Servlet实现的一个代理。

方案2:建立代理服务器,例如squid或者Apache代理

方案3:采用adobe提供的开源软件bladeDS,该软件采用J2EE War方式发布,可以提供RPC、HTTP Proxy的代理功能

方案4:采用Adobe的企业级解决方案Adobe LiveCycle ES ,这个东西试用版就2.5G,真是庞然大物,受不了了,没见过这样的软件,一个Oracle数据库也就几百M而已,想不通。

 

经验所得:

  1. 内部网段跨网访问,放个crossdomain.xml就可以了
  2. 如果是访问外网,做个servlet proxy也很简单
posted @ 2008-08-02 23:45  橄榄细语  阅读(797)  评论(1编辑  收藏  举报