在Flash中导入外部数据,是flash编程常用的方法,利用这种方法结合后台程序可以完成很多强大的功能,但是出于安全上的考虑,这中间也有一些限制。
现在越来越多服务都开放了api供其他程序调用,但是由于这些限制的存在,往往使得flash开发者非常沮丧。。。
最大的限制是禁止跨域读取,这一点和Ajax类似,在默认情况下,域名A上的swf程序,是无法读取域名B上的文件或后台程序的。但和Ajax不同的是,flash并不是绝对禁止,如果要让域名A的程序访问域名B的内容,只要在域名B上放置一个xml的文件,通常命名为crossdomain.xml,在文件中声明允许域名A的访问,域名A上的flash程序访问域名B之前,调用System.security.loadPolicyFile()读取这个文件(细节请参考flash帮助),之后就可以访问了。
另外,在本地硬盘上运行的swf程序,只要在全局安全性设置面板中设置永远允许就可以访问任意网站的内容。
还有一种方法就是利用后台程序作为proxy,域名A的swf先调用域名A上的后台proxy程序,后台proxy再调用域名B的程序,最后把结果返回给swf。
crossdomain.xml文件格式
crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。下边是两个例子:
程序代码
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.friendOfFoo.com" />
<allow-access-from domain="*.foo.com" />
<allow-access-from domain="105.216.0.40" />
</cross-domain-policy>
程序代码
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
第二个例子允许任何域的访问。对于crossdomain.xml文件存放位置,建议将其存放于站点根目录中!
分享到:
相关推荐
还有使用动态加载js回调的方式,但是这个方式有一个问题,如果请求js页面无法控制或是需要get提交的数据比较大时,也无法解决. ajax post又不可以跨域, 目前可以比较好的解决方案是使用flash,但是它有二个不足,一需要...
FlashCookie的工作原理是,当用户访问使用Flash技术的网站时,该网站可以请求在用户的本地存储设备上创建或更新一个Local Shared Object。这些对象存储在与Flash Player关联的特定目录下,而不是在浏览器的Cookie...
9. **跨域问题**:由于Flash的同源策略限制,如果Flash与Java服务器不在同一个域名下,需要设置CORS(跨源资源共享)策略,允许Flash的请求访问Java服务。 10. **部署与测试**:完成开发后,需要在实际环境中部署...
由于安全原因,Flash Player对通过HTTP/HTTPS加载的SWF文件施加了严格的沙箱限制,防止跨域访问。对于Socket通信,Flash需要进行以下两步: 1. **政策文件请求**:Flash客户端会首先向服务器发送一个政策文件请求,...
FlashPlayer组件调用FLASH函数接口是网页开发中的一个重要技术,尤其在富互联网应用程序(RIA)领域,它使得JavaScript与SWF文件(Flash内容)之间的交互成为可能。FlashPlayer作为一个广泛使用的浏览器插件,曾经是...
5. **网络通信**:将截图数据上传到服务器,通常使用HTTP或HTTPS协议,可能涉及表单提交、Ajax异步请求或者WebSocket实时通信。 6. **服务器端处理**:接收到截图后,服务器端可能需要处理图像文件,如存储、格式...
- 安全限制:由于Flash Player的安全沙箱机制,跨域请求可能受到限制,需要在服务器端配置相应的Crossdomain.xml文件。 - 错误处理:在实际应用中,需要添加适当的错误处理代码,例如监听Error事件,以便在出现...
Servlet API提供了Part接口,用于处理HTTP请求中的文件部分。在Servlet 3.0及以上版本,可以直接使用HttpServletRequest的getParts方法获取上传的文件。对于文件名和大小的配置,可以在前端限制用户的选择,或者在...
8. **安全性**:尽管Flash上传提供了更灵活的文件类型和大小限制,但它也有安全问题。例如,如果没有正确的验证机制,恶意用户可能会尝试上传恶意文件。因此,服务器端验证是必不可少的。 9. **替代技术**:随着...
- 大文件分块上传:对于大文件,Flash可以实现分块上传,避免一次性加载大量数据导致的网络问题。 2. **Flash上传原理**: - 用户在Flash组件中选择文件后,Flash通过ActionScript与服务器建立连接。 - Flash将...
4. 进度条同步:在Flash中,每当有新的文件块上传时,都会向服务器发送一个请求获取当前的上传进度。服务器返回进度信息,Flash更新进度条显示。 5. 安全考虑:确保上传文件的安全性,避免非法文件类型或大小的上传...
由于HTTP协议本身的限制,单个请求不能处理过大的数据量,因此传统的HTML表单提交方式对于大文件上传并不理想。为了解决这个问题,开发人员通常会采用各种技术,如Flash、HTML5的File API等。本资源提供的“Flash大...
8. **安全考虑**:虽然Flash的多文件上传提供了便利,但同时也增加了安全风险,如跨站请求伪造(CSRF)和文件类型攻击。因此,服务器端需要对上传的文件进行验证和过滤,防止恶意文件的上传。 9. **源码分析**:`...
在文件上传方面,Flash可以访问本地文件系统,选择文件后通过HTTP请求将文件内容发送到服务器。这种方式绕过了浏览器的安全限制,使得在不支持HTML5 File API的环境下也能实现文件上传。 2. uploadfive上传组件: ...
8. **性能优化**:Print2FlashSDK可能包含优化技术,确保快速转换和低内存占用,这对于处理大文件和高并发请求至关重要。 9. **用户体验**:通过SDK创建的Flash查看器可以提供平滑的滚动、快速加载和流畅的动画效果...
IIS是微软公司提供的一款强大的Web服务器软件,可以处理HTTP、HTTPS等协议的请求,使得内容能够被网络上的其他用户访问。 具体步骤如下: 1. **安装与配置Flash Player**:首先确保用户已经安装了与IE浏览器兼容的...
3. **文件上传组件**:在Flash中实现文件上传功能,通常使用FileReference类,它允许用户选择本地文件并通过HTTP POST请求发送到服务器。`upload.swf`是编译后的Flash影片,用户在浏览器中看到的就是这个文件。它与...
【PHP】"getScratch.php"是服务器端的PHP脚本,它处理来自Flash的请求,比如验证刮奖结果,存储中奖信息,或者生成新的刮奖卡。PHP可以连接数据库,检查刮奖结果是否有效,并将这些信息反馈给客户端。 综合来看,...
在这个系统中,当用户在Flash界面选择文件后,Flash会通过HTTP POST请求将文件数据发送给`upload.php`。`upload.php`在接收到数据后,会检查文件的合法性,例如检查文件类型是否允许、文件大小是否超过限制等。如果...
6. **安全和性能**:由于Flash的安全性和性能问题,开发者必须谨慎考虑是否真的需要在Webview中集成Flash。即使找到了解决方案,也需要定期检查并提醒用户可能的风险,如内存泄漏、安全漏洞等。 7. **未来趋势**:...