`
wangleifire
  • 浏览: 511188 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flash Player升级到9.0.124后,Flex Socket安全策略更改及处理例子

    博客分类:
  • FLEX
阅读更多

在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。更改如下:

  • 1,首先检测目标服务器的843端口是否提供安全策略
  • 2,如果1没有检测到策略,则检测actionscript是否使用了Security.loadPolicyFile(xmlsocket://) 手段提供安全策略,如果还没检测到,则使用第3步检测
  • 3,检测目标服务器目标端口是否提供安全策略。

在说具体处理方式前,我先描述一下Flash Player的验证过程。在Flex程序发出Socket或XmlSocket(以下统称为Socket)请求前,FlashPlayer会先判断是否为 本地调用,如果不是。即用一个Socket去链接到你的服务端,三次握手成功后一方面发出字符串“<policy-file- request/>\0“另一方面监听返回的安全策略。安全策略接收成功后,FlashPlayer就断开验证的Socket,然后再运行程序本身 的Socket。在整个SWF运行期间,无论你请求多少次,只要域相同,FlashPlayer就只验证一次。这里有两个重点,

  • 第一个是验证的Socket和程序的Socket是两个Socket。所以你在本地测试时,服务端监听到N个Socket请求,但布置到服务端后,服务端会监听到N+1个请求。
  • 第二是验证的Socket发送<policy-file-request/>\0“请求和接收你的策略文件是没有先后关系的,所以你没必要接 收完“<policy-file-request/>\0“后才发策略文件。我的做法是只要监听到请求,就把策略字符串发过去。

上面提供了三种方式处理安全策略。处理的办法差不多一样,就是要求服务端监听一个端口,如果客户端发来“<policy-file-request/>\0“请求,服务端就要返回你的安全策略的字符串。

其实三种处理方式的主要区别在于监听端口,方法1和2要求在另外的端口监听,而第三个即在应用本身监听的端口监听。其实监听端口的数量多一个不如少一个。在虚拟空间中不说了,端口不是说要监听就监听的,要有权限。就算有权限监听,还要防火墙同意。所以我比较偏向于第三种。

在HIM中,我处理的代码如下:

  1. protocol.sendStringToSingleClient(protocol.getUser(),  "<?xml version=\"1.0\"?><cross-domain-policy><site-control permitted-cross-domain-policies=\"all\"/><allow-access-from domain=\"*\" to-ports=\"*\"/></cross-domain-policy>\0" );  
protocol.sendStringToSingleClient(protocol.getUser(), "<?xml version=\"1.0\"?><cross-domain-policy><site-control permitted-cross-domain-policies=\"all\"/><allow-access-from domain=\"*\" to-ports=\"*\"/></cross-domain-policy>\0");

这里的protocol.sendStringToSingleClient是我自已封装的方法,作用是把字符串发到指定的socket。这个方法不是重 点,重点是方法参数中的表示策略文件的xml字符串和后面的”\0”。我的xml字符串意思是允许所有域仿问,具体字段的意思可以参考: http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html ,细节我不说了。另外,一定要注意xml字符串后面的”\0”,因为Flash Player是用他来做分隔符的,如果你不加上,客户端验证socket可能就一直等待。

分享到:
评论

相关推荐

    flex 安全沙箱 策略问题 demo

    在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。更改如下: 1,首先检测目标服务器的843端口是否提供安全策略 2,如果1没有检测...

    Macromedia FlashPlayer 9.0.16.0

    Macromedia Flash Player 最新版

    FlashPlayer9 官方独立播放器

    FlashPlayer9 官方独立播放器 版本:9.0.124.0

    install_flash_player_9.0ax-old.exe ---old version:9.0.47.0

    install_flash_player_9.0ax-old.exe ---version:9.0.47.0

    FlashPlayer29.0.0.140永不升级.zip

    众所周知 adobe flash player 已被苏-州-思-杰-马-克-丁-代-理 在flash临死前打捞一笔 目前最新版本31 会弹出 ff资讯弹窗 Flash Helper Service服务后台常驻 收集用户隐私 如果禁止 flash将不可用 现在我收集了...

    flashplayer9.0最新版.rar

    虽然Flash Player 9.0在当时是最新版本,但随着时间的推移,它可能会受到安全漏洞的影响。因此,保持Flash Player的更新至关重要,以防止恶意攻击。此外,现代浏览器和操作系统可能逐渐弃用Flash支持,转向HTML5等...

    [Windows] Flash Player 29.0.0.140

    我这个是Flash Player29.0.0.140全系列的独立离线安装包 记得安装的时候用梯子,否则会调转自动调转安装新版

    FlashPlayer29.0.0.140 IE浏览器版

    install_flash_player_ax.exe 2021年后不会强制失效的Flash player

    flashplayer-34.0.0.289独立版

    标题中的“flashplayer-34.0.0.289独立版”指的是Adobe Flash Player的一个特定版本,这是Adobe公司开发的一款广泛应用于网络上的多媒体内容播放器。Flash Player的主要功能是解析和执行SWF文件,这种文件格式通常...

    Adobe Flash Player v34.0.0.317

    Adobe Flash Player v34.0.0.317

    Adobe Flash Player v34.0.0.242

    Adobe Flash Player v34.0.0.242

    flashplayer V10.1.85

    **FlashPlayer V10.1.85:深入解析与应用** FlashPlayer V10.1.85 是一个重要的软件版本,它属于Adobe Flash Player系列,是互联网上广泛使用的多媒体内容播放器。这款软件的核心功能是播放含有Flash技术的交互式...

    Flash Player 卸载工具 Adobe Flash Player Uninstaller 34.0.0.92.rar

    总的来说,Adobe Flash Player Uninstaller 34.0.0.92是一个为了用户安全考虑的实用工具,它帮助用户平稳过渡到无Flash的网络环境。正确使用这个卸载工具,可以确保系统安全,同时享受到更现代、更安全的互联网体验...

    Flash.Player.ActiveX.32.0.0.321.exe

    此版本根据flash美国版更改去除了地区限制,360浏览器和其他一些需要flash的国产浏览器以及ie都都可以使用。

    Adobe Flash Player for IE v11.3.300.265

    Adobe Flash Player官方版可显示和播放多媒体内容,从数以千计的高度交互性的flash player下载,到有音频流要求的多媒体用户界面,包括实况音乐会和广播。Flash Player播放器后被adobe官方收购,现由adobe官方提供...

    flashplayer 9.0版(官方本地flash播放器)

    换句话说,当你把flash文件下载到本地硬盘后,无法通过双击直接播放。必须拖放到IE浏览器中。这样一来就非常麻烦。 所以,本人就将其本地播放器发布于此。 注明此版本是9.0 如果需要下载10.0版本的话 到下面链接...

    flashplayer 10.1.102.64 for Linux 64bit

    执行此命令后,FlashPlayer插件将被添加到火狐(Firefox)或其他使用相同插件目录的浏览器中,使得用户能够在网页上顺畅地播放Flash内容。 然而,值得注意的是,随着HTML5等现代技术的普及,许多网站已经逐渐放弃对...

    uninstall_flash_player_11.0.1.152.zip

    标题“uninstall_flash_player_11.0.1.152.zip”表明这是一个用于卸载Adobe Flash Player 11.0.1.152版本的专用工具。Adobe Flash Player是一款广泛使用的浏览器插件,它曾是互联网上多媒体内容(如动画、视频和互动...

    最新flashplayer离线安装包下载.txt

    最新flashplayer离线安装包下载

    Flash_Player_v32.0.0.465_ActiveX_Final.exe

    Flash_Player_v32.0.0.465_ActiveX_Final.exe

Global site tag (gtag.js) - Google Analytics