`

FLASH的策略文件请求

    博客分类:
  • 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、针对web应用的策略文件

<?xml version=”1.0″?>
<cross-domain-policy>
<allow-access-from domain=”*.endenvoy.com” />
<allow-access-from domain=”192.168.1.200″ />
</cross-domain-policy>

2、针对Socket的策略文件

<cross-domain-policy>
<allow-access-from domain=”*” to-ports=”507″ />
<allow-access-from domain=”*.example.com” to-ports=”507,516″ />
<allow-access-from domain=”*.example2.com” to-ports=”516-523″ />
<allow-access-from domain=”www.example2.com” to-ports=”507,516-523″ />
<allow-access-from domain=”www.example3.com” to-ports=”*” />
</cross-domain-policy>

其实如果你只是想让你的程序正常运行,可以直接写成<allow-access-from domain=”*” to-ports=”*” />这样就什么都能访问了。

套接字策略文件的介绍:http://www.java1995.cn/blog/item/249


分享到:
评论

相关推荐

    flash策略文件

    当Flash应用尝试与不同源的服务器进行socket通信时,Flash Player会向目标服务器发送一个策略文件请求。服务器必须返回一个特定格式的策略文件,确认允许来自特定源的连接,否则Flash Player将阻止通信。这就是所谓...

    FLASH策略文件服务

    **FLASH策略文件服务详解** 在IT领域,尤其是网络通信与客户端服务器交互方面,Flash Policy Service(简称FPS)扮演着至关重要的角色。它涉及到Adobe Flash Player的网络安全策略,确保了跨域请求的安全性。本文将...

    flash跨域策略文件crossdomain.xml配置详解以及防范措施.docx

    总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 crossdomain.xml 可以确保数据的安全传输,防止恶意跨域攻击。然而,配置不当可能导致敏感信息泄露或被利用,因此在设置...

    flash 843安全策略文件 java版本

    标题中的“flash 843安全策略文件 java版本”指的是在Flash开发中,为了实现Flash Player与服务器之间的Socket通信,必须遵循的安全策略。Flash Player在默认情况下不允许跨域访问,即不能连接到不同源的服务器。...

    支持Flash安全策略转发的服务器端

    1. **安全策略文件**:服务器需要提供一个名为crossdomain.xml的文件,该文件定义了哪些域名可以访问服务器,以及允许的权限。在接收到Flash安全策略请求时,服务器需要返回这个文件的内容。 2. **识别安全策略请求...

    flash 实现的多文件上传

    8. **安全考虑**:虽然Flash的多文件上传提供了便利,但同时也增加了安全风险,如跨站请求伪造(CSRF)和文件类型攻击。因此,服务器端需要对上传的文件进行验证和过滤,防止恶意文件的上传。 9. **源码分析**:`...

    Flash多文件大文件上传自定义文件类型

    在Flash中,可以使用ActionScript配置跨域策略文件,允许Flash内容与不同源的服务器进行通信。这对于分布式服务或第三方API集成至关重要。 在实际应用中,`FlashFileUpload`可能是包含实现这些功能的Flash ...

    flash批量上传文件

    5. **分块上传**:对于大文件,Flash可能会采用分块上传策略,即将大文件拆分为小块,逐个发送,这样可以避免一次性加载整个文件导致的内存问题。PHP端需要能识别和组合这些分块。 6. **错误处理和用户体验**:在...

    flash 多文件上传 源文件

    在实际应用中,服务器需要一个特定的目录来接收和管理上传的文件,通常会进行一定的命名规则和存储策略以保证文件管理的有效性。 综上所述,"Flash多文件上传源文件"是一个综合性的技术解决方案,涵盖了前端的Flash...

    web方式通过flash批量上传文件

    此外,为了实现"无限大容量",服务器端需要有良好的文件管理和存储策略,例如分块上传、断点续传、文件切片等技术,确保大文件能够成功上传且不会耗尽服务器资源。 "Flash批量上传照片"特别适用于博客、论坛和相册...

    flash多文件上传实例

    5. **跨域策略**:由于Flash的安全策略,文件上传通常需要服务器端设置Cross-Origin Resource Sharing (CORS)策略,以便Flash能够从不同源发送请求。 6. **服务器端处理**:Flash负责将文件发送到服务器,但实际的...

    jquery+flash上传文件

    4. **跨域资源共享(CORS)**:由于Flash可以跨域发送请求,所以需要在服务器端配置CORS策略,允许来自不同源的文件上传请求。 5. **进度条显示**:Flash可以提供文件上传的进度信息,jQuery可以捕获这些信息并更新UI...

    java flash 文件上传 下载导入eclipse可以用

    Flash支持XMLSocket或URLStream等技术进行数据传输,使得文件上传不受HTTP请求大小限制。Flash ActionScript代码会创建一个FileReference对象,用户选择文件后,通过调用`upload()`方法将文件发送到服务器。 为了在...

    asp.net+flash多文件上传

    在ASP.NET端设置合适的CORS策略,允许Flash组件的源进行请求。 7. **兼容性和现代浏览器**:虽然Flash曾经是多文件上传的主流方案,但随着HTML5的普及,现代浏览器已经支持File API,可以实现原生的多文件上传。...

    Java大文件上传(1GB,图片,视频,Flash文件,音频文件)

    综上所述,Java通过分块上传和流式上传策略,配合适当的错误处理、安全性控制和存储优化,能够有效地处理大文件上传,包括图片、视频、Flash文件和音频文件等不同类型的多媒体资源。实际开发中,可以根据具体项目...

    Flash+Java上传例子(含源码)

    2. **Java上传处理**:在服务器端,Java被用来接收和处理来自Flash的文件上传请求。通常,这会涉及到JavaServlet,一个服务器端的Java应用程序接口,它扩展了HTTP协议的能力。在本例中,可能有一个Servlet接收上传...

    flash文件上传

    同时,跨域问题也需要关注,Flash上传通常需要设置跨域策略文件(crossdomain.xml)以允许来自不同源的请求。 然而,随着HTML5的发展,尤其是File API和FormData API的引入,Flash多文件上传逐渐被HTML5的多文件...

    FLASH留言板原文件

    "FLASH留言板教程.doc"文件可能是关于如何构建这样一个系统的详细指南,可能包含以下内容:Flash界面的设计和交互逻辑实现、ASP代码的编写、数据库结构的设计、服务器端与客户端的通信过程、数据安全性和错误处理...

    flash html5实现浏览器兼容的文件上传

    综上所述,实现浏览器兼容的文件上传,需要结合Flash和HTML5的技术特性,通过检测浏览器的支持情况,采取适当的策略。同时,注意安全性和性能优化,提供良好的用户体验。在实际项目中,可以参考开源的文件上传组件,...

Global site tag (gtag.js) - Google Analytics