在指定主机上启用iframe

时间:2015-03-08 14:47:00

标签: javascript php html iframe

我目前正在运营一个网站。 在这个网站上,我有一些视频来自我的视频服务器。

我正在视频服务器上的JWplayer中托管视频,然后我将iframe放入我自己的网站。

现在我发现了一些将我的播放器iframe放入其网站的网站,或者只是将它们重定向到视频服务器上的播放。

我知道我可以把玩家放到页面中,但我不希望这样。

基本上我的问题是如果Jwplayer没有将server1作为URL加载,我如何将人们重定向到http://www.server1.com/video1.html(这是server2.com/videoplayer.html iframed的网站)。

所以我希望人们只看到主要网址是server1.com的播放器

如果需要,我可以将播放器更改为第二个网站,我只想在没有其他人的情况下将播放器设为iframe,或者通过iframe网址观看播放器

此致

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。如果您正在为视频服务器使用apache,则可以使用mod rewrite语句来检查引用主机,并且只允许特定主机查看视频。

您可以通过将视频页面封装在php,python,perl,ruby脚本中再次检查引用主机以拒绝它们(如果它们不在您的白名单中)来执行相同的操作。

答案 1 :(得分:0)

您可以在浏览器中签入并设置ALLOW-FROM uri的标题

适用于Firefox和IE X-Frame-Options ALLOW-FROM uri

https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options

对于其他浏览器,您可以检查父网址 http://www.nczonline.net/blog/2013/04/16/getting-the-url-of-an-iframes-parent/

function checkWhiteList() {
  // if is in iframe
  if (parent !== window) {
       var parentUrl = document.referrer;
       if(!inWhiteList(parentUrl)) {
          redirectToErrorPage();
       }
   }
}