| window.runtime 属性 | window.runtime.flash.system.Security |
| 继承 | Security Object |
| 运行时版本: | 1.0 |
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| exactSettings : Boolean [静态]
确定 Flash Player 或 AIR 如何选择用于某些内容设置的域,包括摄像头和麦克风权限、存储配额及永久共享对象存储的设置。 | Security | ||
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
| sandboxType : String [静态] [只读 (read-only)]
指示其中正在运行执行调用的 文件的安全沙箱的类型。 | Security | ||
| 方法 | 定义方 | ||
|---|---|---|---|
allowDomain(... domains):void [静态]
允许所标识的域中的 SWF 文件访问包含 allowDomain() 调用的 SWF 文件中的对象和变量。 | Security | ||
allowInsecureDomain(... domains):void [静态]
允许所标识的域中的 SWF 文件和 HTML 文件访问执行调用的 SWF 文件(使用 HTTPS 协议承载)中的对象和变量。 | Security | ||
![]() |
指示对象是否已经定义了指定的属性。 | Object | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
loadPolicyFile(url:String):void [静态]
在 url 参数指定的位置查找策略文件。 | Security | ||
![]() |
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
showSettings(panel:String = "default"):void [静态]
显示 Flash Player 中的“安全设置”面板。 | Security | ||
![]() | toString():String
返回指定对象的字符串表示形式。 | Object | |
![]() | valueOf():Object
返回指定对象的原始值。 | Object | |
| 常量 | 定义方 | ||
|---|---|---|---|
| APPLICATION : String = "application" [静态]
此文件正在 AIR 应用程序中运行,它是随该应用程序的包(AIR 文件)一起安装的。 | Security | ||
| LOCAL_TRUSTED : String = "localTrusted" [静态]
此文件是本地文件,并且用户已使用 Flash Player 设置管理器或 FlashPlayerTrust 配置文件将其设置为受信任的文件。 | Security | ||
| LOCAL_WITH_FILE : String = "localWithFile" [静态]
此文件是本地文件,尚未受到用户信任,它不是使用网络名称发布的 SWF 文件。 | Security | ||
| LOCAL_WITH_NETWORK : String = "localWithNetwork" [静态]
此文件是本地文件,尚未受到用户信任,它是使用网络名称发布的 SWF 文件。 | Security | ||
| REMOTE : String = "remote" [静态]
此 文件来自 Internet URL,并在基于域的沙箱规则下运行。 | Security | ||
| exactSettings | 属性 |
exactSettings:Boolean| 运行时版本: | 1.0 |
确定 Flash Player 或 AIR 如何选择用于某些内容设置的域,包括摄像头和麦克风权限、存储配额及永久共享对象存储的设置。要让 SWF 文件使用的设置与在 Flash Player 6 中使用的设置相同,可以将 exactSettings 设置为 false。
此属性适用于 SWF 内容,而不适用于 AIR 应用程序的 JavaScript 代码。
SecurityError — Flash Player 或 AIR 在决定播放器设置时已至少使用了一次 exactSettings 的值。
|
| sandboxType | 属性 |
sandboxType:String [只读 (read-only)] | 运行时版本: | 1.0 |
指示其中正在运行执行调用的 文件的安全沙箱的类型。
Security.sandboxType 具有下列值之一:
remote (Security.REMOTE):此文件来自 Internet URL,并在基于域的沙箱规则下运行。localWithFile (Security.LOCAL_WITH_FILE):此文件是本地文件,尚未受到用户信任,且不是使用网络名称进行发布的 SWF 文件。此 文件可以从本地数据源读取数据,但不能与 Internet 进行通信。localWithNetwork (Security.LOCAL_WITH_NETWORK):此 SWF 文件是本地文件,尚未受到用户信任,且已使用网络名称进行发布。此 SWF 文件可与 Internet 通信,但不能从本地数据源读取数据。localTrusted (Security.LOCAL_TRUSTED):此文件是本地文件,并且用户已经使用 Flash Player“设置管理器”或 FlashPlayerTrust 配置文件将其设置为受信任的文件。此 文件既可以从本地数据源读取数据,也可以与 Internet 进行通信。application (Security.APPLICATION):此文件在 AIR 应用程序中运行,并且随该应用程序的包(AIR 文件)一起安装。默认情况下,AIR 应用程序沙箱中的文件可以跨脚本访问任何域中的任何文件(尽管不允许 AIR 应用程序沙箱以外的文件跨脚本访问 AIR 文件)。默认情况下,AIR 应用程序沙箱中的文件可以加载任何域中的内容和数据。 有关安全性的详细信息,请参阅以下部分:
另请参见
| allowDomain | () | 方法 |
function allowDomain(... domains):void| 运行时版本: | 1.0 |
此方法适用于跨脚本访问 ActionScript 3.0 代码(在 SWF 内容中)。它不适用于基于 HTML 的 AIR 应用程序中运行的 JavaScript 代码。
参数
... domains — 一个或多个字符串或者 URLRequest 对象,它们可命名一些域,您希望允许从这些域中进行访问。可指定特殊域“*”,以允许从所有域进行访问。
|
SecurityError — 从 AIR 应用程序安全沙箱中的代码调用此方法会引发 SecurityError 异常。应用程序安全沙箱以外的内容不能跨脚本访问应用程序安全沙箱中的内容。
|
另请参见
| allowInsecureDomain | () | 方法 |
function allowInsecureDomain(... domains):void| 运行时版本: | 1.0 |
此方法适用于跨脚本访问 ActionScript 3.0 代码(在 SWF 内容中)。它不适用于基于 HTML 的 AIR 应用程序中运行的 JavaScript 代码。
下面的情形说明了在未经仔细考虑的情况下使用allowInsecureDomain() 时,它将如何削弱安全性。
参数
... domains — 一个或多个字符串或者 URLRequest 对象,它们可命名一些域,您希望允许从这些域中进行访问。可指定特殊域“*”,以允许从所有域进行访问。
|
SecurityError — 从 AIR 应用程序安全沙箱中的代码调用此方法会导致引发 SecurityError 异常。应用程序安全沙箱以外的内容不能跨脚本访问应用程序安全沙箱中的内容。
|
另请参见
| loadPolicyFile | () | 方法 |
function loadPolicyFile(url:String):void| 运行时版本: | 1.0 |
在 url 参数指定的位置查找策略文件。Adobe AIR 和 Flash Player 使用策略文件来确定是否允许应用程序从它们自己的服务器以外的服务器加载数据。请注意,虽然方法名称为 loadPolicyFile(),但是在发出需要策略文件的网络请求之前,实际并不加载此文件。
使用 Security.loadPolicyFile(),Flash Player 或 AIR 可以从任意位置加载策略文件,如下面的示例所示:
air.Security.loadPolicyFile("http://www.example.com/sub/dir/pf.xml");
这使 Flash Player 或 AIR 尝试从指定的 URL 检索策略文件。由该位置处的策略文件授予的任何权限将适用于该服务器虚拟目录层次结构中的同一级别或更低级别中的所有内容。
您可以使用 loadPolicyFile() 加载任意数量的策略文件。在考虑需要策略文件的请求时,Flash Player 或 AIR 始终会等待策略文件下载完成后才会拒绝请求。如果由 loadPolicyFile() 指定的任何策略文件都未对请求进行授权,作为最终的后备操作,Flash Player 或 AIR 会查询原始的默认位置。
在检索主策略文件时,Flash Player 会用三秒钟等待服务器响应。如果未接收到响应,则 Flash Player 假定主策略文件不存在。但是,对 loadPolicyFile() 的调用没有默认超时值;Flash Player 假定调用的文件存在,在加载文件之前会一直等待。因此,如果要确保加载主策略文件,请使用 loadPolicyFile() 来显式调用主策略文件。
无法加载常用的保留端口提供的策略文件。有关已阻止的端口的完整列表,请参阅《ActionScript 3.0 编程》一书中的“限制网络 API”。
通过将 xmlsocket 协议与特定的端口号一起使用,您可以直接从 XMLSocket 服务器中检索策略文件,如以下示例所示。套接字连接不受上述的保留端口限制。
air.Security.loadPolicyFile("xmlsocket://foo.com:414");
这会导致 Flash Player 或 AIR 尝试从指定的主机和端口检索策略文件。使用指定的端口建立连接后,Flash Player 或 AIR 将传输 <policy-file-request />,并以 null 字节终止。服务器必须发送一个 null 字节来终止策略文件,并可以随后关闭该连接;如果服务器不关闭该连接,则 Flash Player 或 AIR 在收到终止 null 字节后也会这样做。
有关安全性的详细信息,请参阅以下部分:
参数
url:String — 要加载的策略文件的 URL 位置。
|
| showSettings | () | 方法 |
function showSettings(panel:String = "default"):void| 运行时版本: | 1.0 |
显示 Flash Player 中的“安全设置”面板。此方法不适用于 Adobe AIR 中的内容,在 AIR 应用程序中调用此方法不起作用。
参数
panel:String (default = "default") — 来自 SecurityPanel 类的一个值,它指定您希望显示哪一个“安全设置”面板。如果省略此参数,则使用 SecurityPanel.DEFAULT。
|
| APPLICATION | 常量 |
static const APPLICATION:String = "application"| 运行时版本: | 1.0 |
此文件正在 AIR 应用程序中运行,它是随该应用程序的包(AIR 文件)一起安装的。此内容包括在 AIR 应用程序资源目录中(安装应用程序内容的位置)。
另请参见
| LOCAL_TRUSTED | 常量 |
static const LOCAL_TRUSTED:String = "localTrusted"| 运行时版本: | 1.0 |
此文件是本地文件,并且用户已使用 Flash Player 设置管理器或 FlashPlayerTrust 配置文件将其设置为受信任的文件。此 文件既可以从本地数据源读取数据,也可以与 Internet 进行通信。
另请参见
| LOCAL_WITH_FILE | 常量 |
static const LOCAL_WITH_FILE:String = "localWithFile"| 运行时版本: | 1.0 |
此文件是本地文件,尚未受到用户信任,它不是使用网络名称发布的 SWF 文件。在 Adobe AIR 中,本地文件不 放在应用程序资源目录中,这些文件放在应用程序安全沙箱中。此 文件可以从本地数据源读取数据,但不能与 Internet 进行通信。
另请参见
| LOCAL_WITH_NETWORK | 常量 |
static const LOCAL_WITH_NETWORK:String = "localWithNetwork"| 运行时版本: | 1.0 |
此文件是本地文件,尚未受到用户信任,它是使用网络名称发布的 SWF 文件。此 文件可与 Internet 通信,但不能从本地数据源读取数据。
另请参见
| REMOTE | 常量 |