3

我有一个名为 test2.php 的页面,它通过 iframe 加载到 test1.php 中。

我想实现一个白名单,以确保 test2.php 只能通过 test1.php 访问。我注意到父页面 URL (test1.php) 作为子 iframe 页面 (test2.php) 的 HTTP_REFERER 传递。

这适用于 IE7/8/9 以及我正在使用的 Chrome 和 FF 版本。

那么,在这种情况下,由于真正的安全性不是一个因素,测试 HTTP_REFERER 字段是否可靠以检查父页面的身份?是否有没有为 iframe 设置此标头的浏览器,或者是否有我没有考虑到的边缘情况?

我意识到这不是防黑客攻击,因为标题欺骗是微不足道的,但安全不是问题。我只是想控制(或多或少)嵌入 test2.php 的页面。

感谢您的时间。

4

1 回答 1

0

您可以使用 JavaScript - 在开始时检查您的 test2.php 文件是否在 iFrame 中

var isInIframe = (parent !== window);    

然后您可以获取并验证父网址

function getParentUrl() {
var isInIframe = (parent !== window),
    parentUrl = null;

if (isInIframe) {
    parentUrl = document.referrer;
}

return parentUrl;    

}

于 2014-11-04T14:20:26.423 回答