我有一个名为test2.php的页面,它通过iframe加载到test1.php中。
我想实现一个白名单,以确保只能通过test1.php访问test2.php。我注意到父页面URL(test1.php)作为子iframe页面(test2.php)的HTTP_REFERER传递。
在IE7 / 8/9以及我正在使用的Chrome和FF版本中也是如此。
因此,在这种情况下,由于真正的安全性不是一个因素,测试HTTP_REFERER字段是否可靠以检查父页面的标识?是否有浏览器没有为iframe设置此标题,或者是否存在我没有考虑的边缘情况?
我意识到这不是防黑客,因为标头欺骗是微不足道的,但安全性不是问题。我只想控制(或多或少)test2.php嵌入的页面。
感谢您的时间。
答案 0 :(得分:0)
您可以使用JavaScript - 在开始时检查您的test2.php文件是否在iFrame中
var isInIframe = (parent !== window);
然后你可以得到&验证父网址
function getParentUrl() {
var isInIframe = (parent !== window),
parentUrl = null;
if (isInIframe) {
parentUrl = document.referrer;
}
return parentUrl;
}