繁体   English   中英

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

[英]Show iframe in a page to only visitors coming from particular referrer

现在我有一个网站:

www.abc.com

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

www.xyz.com

例如,我在www.xyz.com/tops/页面上的iframe中嵌入了一个视频,可以通过网址www.xyz.com/tops/pqrs.php?file=123456观看。现在,我想要iframe出现在www.xyz.com/tops/页面上,只有来自www.abc.com的人才能看到。 对于直接访问www.xyz.com/tops/页面的其他人,除了该页面中嵌入的iframe之外,所有内容都应该可见。 该页面上还有其他内容。...在所有这些内容之间,我嵌入了该iframe元素。 因此,对于直接访问www.xyz.com/tops/页面的每个人,除了嵌入在该页面中的iframe之外,所有内容都应该可见。

我该如何实现?

谢谢 :)

我现在将尝试以下两种方法。 同时,在搜索符合我确切需求的网站时,我发现了一个。 主要站点是:

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元素不存在。 甚至我也想这样做。 但是如何?

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/”时才有效。 使用正则表达式包括所有情况。

摘录自: 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;
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM