我有index.php如下:
<html>
<head>
<title>Page Title</title>
<meta name="description" content="Description">
<meta name="keywords" content="Keyword1, Keyword2">
</head>
<body style="margin:0px;padding:0px;overflow:hidden">
<iframe id="myID" src="/index2.php" frameborder="0" style="overflow:hidden;height:100%;width:100%" >
</iframe>
</body>
</html>
index.php中的iframe用于屏蔽index2.php(即iframe src)。但是,用户只需通过
进入网站即可www.website.com/index2.php
这将破坏所有掩蔽。有没有办法通过javascript或其他方式知道iframe是否加载到每个网站的页面上,如果他们通过index2.php进入网站,则重定向用户。
答案 0 :(得分:2)
我认为没有办法可靠地做到这一点。您需要在iframe页面中使用JavaScript来测试文档是否在top
框架中,或者使用PHP来检查引荐来源。
将以下其中一项放入您要在iframe中加载的页面中。
PHP
if ($_SERVER['HTTP_REFERER'] != 'http://domain.com/index.php') {
header('Location: http://domain.com/index.php');
}
JavaScript
if (window==window.top) {
window.location = "http://domain.com/index.php"
}
<强> NB 强>
但是,由于可以关闭JavaScript,并且引用者可以被欺骗,因此它永远不会完全万无一失。
可能最好的补救方法是用include替换iframe并使用AJAX更新它。