默认情况下,Flash Player 7 和更高版本防止从一个域提供的 SWF 文件访问从另一个域提供的数据、对象或变量。从不同的域提供的 SWF 文件不能互相访问对方的对象和变量。另外,通过不安全的(非 HTTPS)协议加载的内容不能访问通过安全的 (HTTPS) 协议加载的内容,即使这些内容都在完全相同的域中。例如,如果未得到明确许可,位于
http://www.macromedia.com/main.swf 的 SWF 文件不能加载
https://www.macromedia.com/data.txt 中的数据。从一个域提供的 SWF 文件也不能从另一个域加载数据(例如使用 loadVariables()
)。
相同的数字 IP 地址兼容。但是,域名与 IP 地址不兼容,即使该域名解析为相同的 IP 地址。
下表显示兼容域的示例:
www.macromedia.com |
www.macromedia.com |
data.macromedia.com |
data.macromedia.com |
65.57.83.12 |
65.57.83.12 |
下表显示不兼容域的示例:
www.macromedia.com |
data.macromedia.com |
macromedia.com |
www.macromedia.com |
www.macromedia.com |
macromedia.com |
65.57.83.12 |
www.macromedia.com(即使此域可解析为 65.57.83.12) |
www.macromedia.com |
65.57.83.12(即使 www.macromedia.com 可解析为此 IP) |
有关如何防止从一个域提供的 SWF 文件访问从另一个域提供的 SWF 文件中数据、对象或变量的信息,请参见关于允许跨域 SWF 文件间的数据访问。有关如何防止通过安全的 (HTTPS) 协议提供的 SWF 文件访问通过不安全的协议提供的 SWF 文件中的数据、对象或变量的信息,请参见关于允许 SWF 文件间 HTTP 对 HTTPS 协议的访问。有关如何防止从一个域提供的 SWF 文件加载另一个域中数据(例如使用loadVariables()
)的信息,请参见关于允许跨域数据加载。
有关这些安全更改如何影响在 Flash MX 和更早版本中创作的内容的信息,请参见关于与以前的 Flash Player 安全模型的兼容性。