在页面中仅向来自特定引荐来源的访问者显示iframe

时间:2015-10-05 17:17:42

标签: javascript php jquery html iframe

现在我有一个网站:

www.abc.com

我在这里提供了观看视频或一些书面内容的链接。但是这个内容是:

www.xyz.com

例如,我在页面www.xyz.com/tops/上的iframe中嵌入了一个视频,可以通过网址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之外,所有内容都应该是可见的。

我如何实现这一目标?

谢谢:)

3 个答案:

答案 0 :(得分: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>

现在我只需点击地址栏然后按回车即可重新加载页面(不是按F5或重新加载按钮)。现在视频不可见,但其他页面内容按原样显示。我现在再次检查源代码:

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

这次iframe元素不在那里。 即使我想这样做。但是如何?

答案 1 :(得分:0)

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包含所有案例。

答案 2 :(得分:0)

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

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

classNotFoundException: gifClass

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