[英]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
当我单击链接时,我将其带到:
并且相关视频正在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.