【问题标题】:Show iframe in a page to only visitors coming from particular referrer在页面中仅向来自特定引荐来源的访问者显示 iframe
【发布时间】:2016-01-02 10:37:42
【问题描述】:

现在我有一个网站:

www.abc.com

我在这里提供观看视频或一些书面内容的链接。但该内容正在播放:

www.xyz.com

例如,我在页面 www.xyz.com/tops/ 的 iframe 中嵌入了一个视频,可以通过 url www.xyz.com/tops/pqrs.php?file=123456 进行查看。现在我希望 www.xyz.com/tops/ 页面上的 iframe 对来自 www 的人可见仅限 .abc.com。对于直接访问www.xyz.com/tops/ 页面的其他人,除了嵌入在该页面中的 iframe 之外,所有内容都应该可见。 该页面上还有其他内容....在所有内容之间,我嵌入了这个 iframe 元素。因此,对于直接访问 www.xyz.com/tops/ 页面的每个人来说,除了嵌入在该页面中的 iframe 之外,所有内容都应该可见。

我如何做到这一点?

谢谢:)

【问题讨论】:

  • 那么您的研究发现了什么以及您尝试了什么?
  • 看到这个问题; stackoverflow.com/a/1864587/3011082
  • @charlietfl 我一直在阅读有关 stackoverflow 和其他一些网站的一些帖子。但是每个人都描述了与如何在 iframe 中加载不同的网站或如何从 IFRAME 中的页面显示容器或如何让 iframe 仅显示页面的特定部分等相关的问题和解决方案。但他们没有解决我的问题。
  • @www139 我对我的问题做了一个小小的修改。请看一看。

标签: javascript php jquery html iframe


【解决方案1】:

我现在将尝试以下两种方法。 与此同时,在搜索一些正在做我真正需要的网站时,我找到了一个。 主要网站是:

www.siteA.com

一个链接放在那里:

http://siteA.com/redirector.php?r=http://siteB.com/Page/&s=123456

当我点击链接时,它带我去:

http://siteB.com/Page/

并且相关视频正在 iframe 中播放。我检查源代码。我在嵌入 iframe 的位置附近找到了这个:

<div style="padding: 6px">
</div>
<div id="showvideoplayer"></div>
<div id="container"></div>
<iframe frameborder='0' width='730' height='415' src='http://www.dailymotion.com/embed/video/somecode'></iframe> <div style='padding: 8px'>
</div>

现在我只是通过单击地址栏然后按 Enter 重新加载了页面(不是通过按 F5 或重新加载按钮)。现在视频不可见,但其他页面内容原样存在。我现在再次检查了源代码:

<div style="padding: 6px">
</div>
<div id="showvideoplayer"></div>
<div id="container"></div>

这次 iframe 元素不存在。 即使我想这样做。但是怎么做呢?

【讨论】:

    【解决方案2】:

    www139 答案的扩展版本:

    session_start();
    
    if ( !isset( $_SESSION["origURL"] ) )
        $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
    
    //...
    if ($_SESSION["origURL"] !== "www.xyz.com/tops/") {
      echo "<iframe>..."
    }
    

    请注意,这仅在 URL 正好是“www.xyz.com/tops/”时才有效。使用regular expressions 包含所有案例。

    【讨论】:

      【解决方案3】:

      摘自: https://www.nczonline.net/blog/2013/04/16/getting-the-url-of-an-iframes-parent/

      在 xyz.com 页面上,有一个检测父 url 的脚本,并显示您感兴趣的内容,如果它是 iframed 与否。

      function getParentUrl() {
      var isInIframe = (parent !== window),
          parentUrl = null;
      
      if (isInIframe) {
          parentUrl = document.referrer;
      }
      
          return parentUrl;
      }
      

      请注意,此方法不提供防止用户看到内容的安全方法,只是方便地显示和隐藏内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-20
        相关资源
        最近更新 更多