如何阻止访问者在iframe外打开一个页面

时间:2012-12-27 20:45:17

标签: php

我需要阻止访问者在iframe外打开一个页面

例如

在浏览器上写时:

www.sss.com/index.php

将会公开

但写的时候

www.sss.com/add_news.php

我需要重定向到主页

3 个答案:

答案 0 :(得分:3)

由于iframe发出GET请求,因此无法区分来自浏览器本身的GET请求和来自页面中嵌入的iframe的GET请求。在这两种情况下,浏览器都会发出相同的GET请求。您可以在“iframe”页面中编写一些JavaScript代码,以检测它是否在顶部窗口中加载,如果不是,则重定向。

来自How to identify if a webpage is being loaded inside an iframe or directly into the browser window?

上接受的答案

使用窗口属性topself

<script type="text/javascript">
    if (top === self) {
        location = '/index.php';
    }
</script>

答案 1 :(得分:0)

我建议您生成一些令牌,例如。 “982h2jruhndjf92”,将其存储在服务器或cookie中,然后将其作为GET参数添加到框架内脚本中。

<iframe src="www.sss.com/add_news.php?token=982h2jruhndjf92" /> 

如果url提供相同的令牌,则显示正确的视图,否则使用header()函数重定向用户。

答案 2 :(得分:-1)

使用php,你可以使用标题

<?php

   header( 'Location: www.sss.com/index.php' ) ;

?>