【发布时间】:2016-06-05 06:50:23
【问题描述】:
这真的,真的很奇怪。我使用 Apache / Strawberry Perl / Firefox 开发了一个离线站点。它按预期显示对象标签中的数据,从外部站点调用数据。
将代码上传到服务器,它将显示代码在同一站点上的对象......但拒绝“拉”来自其他域的数据,(我拥有)
如果您尝试“http://demo.coadmem.com/members”并单击左侧的圆圈,则会出现产品列表(来自同一域),但来自“cbwizard.cristoafayre.com”和“cristoafayre.com/poppa”的产品列表在同一页面上拒绝出现。然而,当我使用 YouTube 设置测试时,它加载正常。
我问主机是否有某种“阻止”阻止对象加载外部站点,他们的回答当然是“我们可以看到错误日志中没有报告任何问题”。
此外,在“http://coadmem.com/admin”,顶部还有另一个对象 - 离线工作正常,但从服务器显示一个白色的空“关于”栏!!。
这是我正在使用的两个代码:(cb-wizard 使用一些 javascript 来选择随机关键字;这里添加的内容太多,所以请查看源代码。任何人都看到一个明显的错误为什么它不能在线工作?
<object data="http://www.cristofayre.com/cgi-bin/poppa/banner_ad.pl?u=1:aa00" width=480 height=90></object>
<object style="position:fixed;top:0px;width:100%;height:20px;" width="100%" height="20px" data="http://www.cristofayre.com/cgi-bin/admin_ad.pl?t=w"></object>
我知道脚本可以工作,'因为如果你在浏览器中输入数据行,就会显示正确的 HTML;它只是拒绝在服务器上出现!
我想知道主机是否可能应用某种“列表”,允许将 Google / Youtube 等主要网站加载到 iframe / 对象中,但不允许“次要”网站。 (支持团队似乎对这样的名单一无所知)
** 我也想知道“同源”政策是否正在发挥作用,但肯定不应该这样做,因为这首先破坏了使用 iframe 和对象的全部意义。
【问题讨论】:
-
演示页面左侧的哪些具体链接有问题?
-
您遇到了 CORS 问题。有两个错误。 GET demo.coadmem.com/cookie_tick/style.css about:blank:1 拒绝在框架中显示“cristofayre.com/cgi-bin/poppa/banner_ad.pl?u=1:aa00”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。
-
杰夫,我不知道你是如何发现框架将 X-frame-Options 设置为“SAME-ORIGIN”的……但你是 100% 正确的。另一位支持人员告诉我创建一个 .htaccess 文件,并使用“Header always unset X-Frame-Options”,并且 - 无论它做什么 - 它都可以让对象按应有的方式显示项目。所以我又是一只快乐的兔子了!
-
Archer:有问题的链接是……全部!他们都只显示了一个文件,而不是应该显示的三个文件。但是在 Jeff 和 GreenGeeks 支持团队之间,我们已经解决了这个问题。
标签: javascript perl object whitelist blacklist