【问题标题】:How to add crossdomain.xml in sub directory如何在子目录中添加crossdomain.xml
【发布时间】:2012-01-07 01:56:13
【问题描述】:

spec for cross domain policy files 表示您可以通过使用X-Permitted-Cross-Domain-Policies 标头将crossdomain.xml 文件放在根目录之外。究竟是如何做到这一点的?我想将crossdomain.xml 文件放在子目录中(我无权访问根目录)。这是the spec的第11页:

当客户端需要一个策略文件时,他们默认查看根目录。一种 域应始终托管主策略文件以执行其预期的元策略。如果客户端被指示加载除 master 之外的策略文件 策略文件,客户端仍然必须检查主策略文件以 确保主策略文件定义的元策略允许使用 最初请求的策略文件。

如果没有主策略文件,则由客户端自行处理 强制执行默认行为。而不是完全依赖master 元策略的策略文件,客户端也可以决定检查 X-Permitted-Cross-Domain-Policies 文档中的标头指定一个 元政策。除了在可接受的值 允许的跨域策略,此标头也可以使用值 none-this-response 表示当前文档不应该是 尽管有其他标头或其内容,但仍用作策略文件。非主策略文件只能授予对自己内部数据的访问权限 目录或子目录。

【问题讨论】:

    标签: javascript adobe cross-domain html5boilerplate cross-domain-policy


    【解决方案1】:

    我猜您想将 crossdomain.xml 用于 Flash 客户端? 事实上,默认情况下,flash 客户端总是尝试在根目录中查找该文件。正如规范所述,其他所有内容都必须在客户端中设置。我不是 Flash 编码员 - 你应该用“flash”或其他任何客户端编码的方式标记这个问题。

    【讨论】:

    • 我也不是 Flash 编码员。当我在一个只能访问子目录的站点上实现 HTML5Boilerplate.com 时,我想到了这一点。
    • 那么就很简单了:没有带有专有客户端的 API = 不需要 crossdomain.xml。如果您在不同的(子)域上有 JavaScript 客户端的 API,则应该发送此标头:“Access-Control-Allow-Origin: *”(尽管 * 可以替换为特定的 IP 或域)跨度>
    • 谢谢。我不需要它——我只是想理解它,哈哈。你如何“发送标头”——是在 JavaScript 中吗?
    • 不,您可以使用服务器配置(apache、iis、...)或服务器端脚本(例如 PHP (header('Access-Control-Allow-Origin: *')))来执行此操作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2011-12-20
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多