SWF 文件的三种访问级别

只访问本地文件(默认)

若要设置此权限级别,请选择"发布设置">"Flash",然后从"本地回放安全性"弹出菜单中选择"只访问本地文件"。此权限级别允许本地 SWF 文件仅访问运行该 SWF 文件的本地文件系统。SWF 文件可以不受任何限制地从本地磁盘上的已知文件中读取内容。然而,以下限制应用于访问网络的应用程序:

·SWF 文件不能以任何方式访问网络。SWF 文件不能对网络 SWF 文件执行跨脚本操作,也不能由网络 SWF 文件执行跨脚本操作。
·SWF 文件不能与具有只访问网络权限的本地 SWF 文件通信,并且 SWF 文件不能与 HTML 页面通信。然而,有时是允许进行通信的,例如,当 HTML 是受信任的而 allowScriptAccess 设置为始终,或者当 allowScriptAccess 未设置而 SWF 文件是 Flash Player 7 或更低版本时。

只访问网络

若要设置此权限级别,请选择"发布设置">"Flash",然后从"本地回放安全性"弹出菜单中选择"只访问网络"。如果某个服务器包含一个具有 <allow-access-from-domain= "*"> 的跨域策略文件,则具有网络访问权限的本地 SWF 文件就可以读取此服务器的内容。具有网络访问权限的本地 SWF 文件可以对其它 SWF 文件进行跨脚本操作,前提是正在被访问的其它 SWF 文件包含 System.security.allowDomain("*")。如果具有网络访问权限的本地 SWF 文件包含 allowDomain("*"),则该本地 SWF 文件可被网络 SWF 文件执行跨脚本操作。SWF 文件始终不能读取本地文件的内容。在有些情况下,SWF 文件的类型会影响访问。有关信息,请参见"ActionScript 2.0 语言参考"中的 allowDomain(security.allowDomain 方法)。

通配符 (*) 值指示允许访问所有域,包括本地主机。在使用通配符参数之前,请确定是否要提供这么大范围的访问权限。

如果没有这些权限,则具有网络访问权限的本地 SWF 文件就只能与其它具有网络访问权限的本地 SWF 文件通信,并且可以向服务器发送数据(例如,使用 XML.send())。在这些情况下,如果 HTML 文件是受信任的,则允许进行访问。

访问文件系统和网络

此级别是最高的权限级别。具有这些权限的本地 SWF 文件是受信任的本地 SWF 文件。受信任的本地 SWF 文件可以读取其它本地 SWF 文件的内容,与任何服务器交互,并为其它没有显式禁止文件权限(例如,通过 allowScriptAccess="none")的 SWF 文件或 HTML 文件编写 ActionScript。此权限级别可由用户或 Flash 开发人员通过以下方式授予:

·使用"设置管理器"中的"全局安全设置"面板。
·使用全局配置文件。

在硬盘上的 boot disk\Documents and Settings\<UserName>\Application Data\Macromedia\Flash Player\#Security 目录中,您可以创建一个 FlashPlayerTrust 目录,其中可以存储唯一的配置文件(您可以对该配置文件使用任何唯一的名称)。您可以在这些文件内指定硬盘上要信任的目录或应用程序,这些目录中保存的 Flash 应用程序就可以访问本地文件和网络了。

创建配置文件以信任某个目录:

1.定位到硬盘上的 #Security 文件夹。
2.在 #Security 文件夹内部创建一个名为 FlashPlayerTrust 的文件夹。
3.使用文本编辑器在 FlashPlayerTrust 目录中创建一个新文件,并将其另存为 myTrustFiles.cfg。 您可以对该配置文件使用任何唯一的名称。
4.定位到测试 Flash 应用程序的目录。
5.在文件中键入或粘贴每个目录路径(硬盘上的任何目录路径),一行一个目录路径。您可以在不同行上粘贴多个目录路径。任何以 # 符号开头的行(之前没有前导空格)视为注释。完成时,文件将看起来如下所示:
C:\Documents and Settings\<yourname>\My Documents\files\
C:\Documents and Settings\<yourname>\My Documents\testapps\
6.保存对 myTrustFiles.cfg 的更改。
7.测试从您添加到该文件的目录中访问本地和网络文件的文档。

现在,此目录中保存的 Flash 应用程序就可以访问本地文件和网络了。

你可以把这个过程交给批处理来完成:

echo off
echo 设置Flash播放器的安全策略,允许本地Flash文件访问网络
pause
c:
cd %windir%\system32\Macromed\Flash
md FlashPlayerTrust
cd FlashPlayerTrust
echo C:\ >myTrustFiles.cfg
echo D:\ >>myTrustFiles.cfg
echo E:\ >>myTrustFiles.cfg
echo F:\ >>myTrustFiles.cfg

cd %userprofile%\Application Data\Macromedia\Flash Player\#Security
md FlashPlayerTrust
cd FlashPlayerTrust
echo C:\ >myTrustFiles.cfg
echo D:\ >>myTrustFiles.cfg
echo D:\ >>myTrustFiles.cfg
echo F:\ >>myTrustFiles.cfg
echo 设置完成。


上一篇: MapABC地图API应用举例
下一篇: GPRS通信费也不便宜
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 6835
发表评论
登录后再发表评论!