在
Adobe Flash Player
升级到
9.0.124
后,由于安全策略更改,原来
Socket
或
XmlSocket
的应用里的
http
方式加载安全策略的手段不能继续使用。更改如下:
- 1,
首先检测目标服务器的
843
端口是否提供安全策略
- 2,
如果
1
没有检测到策略,则检测
actionscript
是否使用了
Security.loadPolicyFile(xmlsocket://)
手段提供安全策略,如果还没检测到,则使用第
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应用尝试与不同源的服务器进行socket通信时,Flash Player会向目标服务器发送一个策略文件请求。服务器必须返回一个特定格式的策略文件,确认允许来自特定源的连接,否则Flash Player将阻止通信。这就是所谓...
**FLASH策略文件服务详解** 在IT领域,尤其是网络通信与客户端服务器交互方面,Flash Policy Service(简称FPS)扮演着至关重要的角色。它涉及到Adobe Flash Player的网络安全策略,确保了跨域请求的安全性。本文将...
总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 crossdomain.xml 可以确保数据的安全传输,防止恶意跨域攻击。然而,配置不当可能导致敏感信息泄露或被利用,因此在设置...
标题中的“flash 843安全策略文件 java版本”指的是在Flash开发中,为了实现Flash Player与服务器之间的Socket通信,必须遵循的安全策略。Flash Player在默认情况下不允许跨域访问,即不能连接到不同源的服务器。...
1. **安全策略文件**:服务器需要提供一个名为crossdomain.xml的文件,该文件定义了哪些域名可以访问服务器,以及允许的权限。在接收到Flash安全策略请求时,服务器需要返回这个文件的内容。 2. **识别安全策略请求...
8. **安全考虑**:虽然Flash的多文件上传提供了便利,但同时也增加了安全风险,如跨站请求伪造(CSRF)和文件类型攻击。因此,服务器端需要对上传的文件进行验证和过滤,防止恶意文件的上传。 9. **源码分析**:`...
在Flash中,可以使用ActionScript配置跨域策略文件,允许Flash内容与不同源的服务器进行通信。这对于分布式服务或第三方API集成至关重要。 在实际应用中,`FlashFileUpload`可能是包含实现这些功能的Flash ...
5. **分块上传**:对于大文件,Flash可能会采用分块上传策略,即将大文件拆分为小块,逐个发送,这样可以避免一次性加载整个文件导致的内存问题。PHP端需要能识别和组合这些分块。 6. **错误处理和用户体验**:在...
在实际应用中,服务器需要一个特定的目录来接收和管理上传的文件,通常会进行一定的命名规则和存储策略以保证文件管理的有效性。 综上所述,"Flash多文件上传源文件"是一个综合性的技术解决方案,涵盖了前端的Flash...
此外,为了实现"无限大容量",服务器端需要有良好的文件管理和存储策略,例如分块上传、断点续传、文件切片等技术,确保大文件能够成功上传且不会耗尽服务器资源。 "Flash批量上传照片"特别适用于博客、论坛和相册...
5. **跨域策略**:由于Flash的安全策略,文件上传通常需要服务器端设置Cross-Origin Resource Sharing (CORS)策略,以便Flash能够从不同源发送请求。 6. **服务器端处理**:Flash负责将文件发送到服务器,但实际的...
4. **跨域资源共享(CORS)**:由于Flash可以跨域发送请求,所以需要在服务器端配置CORS策略,允许来自不同源的文件上传请求。 5. **进度条显示**:Flash可以提供文件上传的进度信息,jQuery可以捕获这些信息并更新UI...
Flash支持XMLSocket或URLStream等技术进行数据传输,使得文件上传不受HTTP请求大小限制。Flash ActionScript代码会创建一个FileReference对象,用户选择文件后,通过调用`upload()`方法将文件发送到服务器。 为了在...
在ASP.NET端设置合适的CORS策略,允许Flash组件的源进行请求。 7. **兼容性和现代浏览器**:虽然Flash曾经是多文件上传的主流方案,但随着HTML5的普及,现代浏览器已经支持File API,可以实现原生的多文件上传。...
综上所述,Java通过分块上传和流式上传策略,配合适当的错误处理、安全性控制和存储优化,能够有效地处理大文件上传,包括图片、视频、Flash文件和音频文件等不同类型的多媒体资源。实际开发中,可以根据具体项目...
2. **Java上传处理**:在服务器端,Java被用来接收和处理来自Flash的文件上传请求。通常,这会涉及到JavaServlet,一个服务器端的Java应用程序接口,它扩展了HTTP协议的能力。在本例中,可能有一个Servlet接收上传...
同时,跨域问题也需要关注,Flash上传通常需要设置跨域策略文件(crossdomain.xml)以允许来自不同源的请求。 然而,随着HTML5的发展,尤其是File API和FormData API的引入,Flash多文件上传逐渐被HTML5的多文件...
"FLASH留言板教程.doc"文件可能是关于如何构建这样一个系统的详细指南,可能包含以下内容:Flash界面的设计和交互逻辑实现、ASP代码的编写、数据库结构的设计、服务器端与客户端的通信过程、数据安全性和错误处理...
综上所述,实现浏览器兼容的文件上传,需要结合Flash和HTML5的技术特性,通过检测浏览器的支持情况,采取适当的策略。同时,注意安全性和性能优化,提供良好的用户体验。在实际项目中,可以参考开源的文件上传组件,...