在FLEX里用HTTPService等都是需要Proxy的,这和原来用flash的时候大不一样。
首先注意的是在HTTPService tag里有一个属性useProxy,属性值为true/false,默认属性为true。
这不同于flash里的loadVars或XML。
在WEB-INF/flex的flex-config.xml里第317行有这么一句注释:
For security, the whitelist is locked down by default.
Uncomment the first two urls below to enable access to all URLs
or add above the individual URLs you wish to access.
也就是说出于安全的考虑flex里的白名单(whitelist)是需要使用这自己修改的,unnamed list默认只有本地的http://{localserver}/*和https://{localserver}/*可以访问。其他的需要在flex-config.xml里的自行修改。
比如我们要访问80s的rss2.asp文档,我们就可以在后面加上
<url>http://www.80s.net.cn/*</url>
这和flash里的跨域访问不太一样,在flash中如果要跨域访问就需要在别人的website根下放置crossdomain.xml,或者用web脚本做代理,具体方法参考:
http://www.80s.net.cn/blog/comment.asp?Id=7
在flash里用loadVars.sendAndload("*.jsp","POST");,这样一旦有人反编译了导出的swf,这样就有可能向服 务器端发送垃圾数据,但在flex里我们可以在named list里给service取名,这样就以为着更安全,就算别人反编译了导出的swf也只能看到serviceName,而不知道具体的地址。
如果你不需要这些功能,MM也给了解决的方法,就是把useProxy的值给false。
FLEX里HTTPService需注意的事项
最新推荐文章于 2021-02-21 17:07:35 发布