【问题标题】:Same Origin Policy - Displaying Ads同源政策 - 展示广告
【发布时间】:2013-07-25 08:30:34
【问题描述】:

我在 iframe、来源、广告等方面遇到了难题。

所以我刚刚创建了一个新网站mockrs.com,并尝试在其中放置广告以产生一些收入。我的广告代码如下所示:

<aside id="leftAd" class="adWrapper160x600">
    <div class="ad">          
        <script language="javascript" type="text/javascript" charset="utf-8">
            cpxcenter_width = 160;    
            cpxcenter_height = 600;
        </script>
        <script language="JavaScript" type="text/javascript" src="http://ads.cpxcenter.com/cpxcenter/showAd.php?nid=4&amp;zone=22607&amp;type=banner&amp;sid=18035&amp;pid=17900&amp;subid=">
        </script>
    </div>
</aside>

这段代码应该会呈现广告并且确实会呈现,但它们只是“占位符”广告。由于错误,未呈现真实广告。 Chrome 是这样说的:

阻止来源为“http://ads.cpxcenter.com”的框架访问来源为“http://mockrs.com”的框架。协议、域和端口必须匹配。 阻止来源为“http://mockrs.com”的框架访问来源为“http://ads.cpxcenter.com”的框架。协议、域和端口必须匹配。

我认为这可能与同源策略有关,但我不太确定,因为其他外部脚本执行没有问题,它们可以在我的网站上呈现 iframe(facebook 呈现其 Like 按钮,广告提供商呈现“占位符”广告)。

此外,Chrome 有时会显示两三个此类错误,有时根本不显示。我很困惑,你们能帮帮我吗?

【问题讨论】:

  • “我认为这可能与同源策略有关” 是的。我认为您一定是错误地嵌入了广告脚本。与“cpxcenter.com”或其他任何人交谈,以获取正确操作的说明。广告网站不应该依赖跨域访问。
  • 仅供参考,您可以从script 标签中删除language(90 年代已弃用)和type(几乎永远不需要)属性。当脚本内容是 JavaScript 时,它们只不过是浪费空间。
  • 我知道这些已被弃用或无用,但我刚刚从广告提供商那里复制了该 sn-p 并且不想更改任何内容,因为这个错误简直太疯狂了。我的同事已经给他们发了电子邮件,我们仍在等待回复。但是,我希望有人能尽快帮助我:)

标签: javascript ads same-origin-policy


【解决方案1】:

这是一个“SOP”问题。但据我所知,有一些优雅的方法可以在不面临这个问题的情况下实施广告。除了 T.J. Crowders 建议请您的广告经纪人正确实施,您可能会觉得这很有趣:

http://code.google.com/p/browsersec/wiki/Part2#Life_outside_same-origin_rules

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 2021-07-21
    • 1970-01-01
    • 2012-11-14
    • 2015-08-19
    • 2015-08-25
    相关资源
    最近更新 更多