我有一个名为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嵌入到哪些页面上。
谢谢您抽时间见我。
发布于 2014-11-04 22:20:26
您可以在开始时使用JavaScript -检查您的test2.php文件是否为iFrame格式
var isInIframe = (parent !== window); 然后,您可以获取并验证父url。
function getParentUrl() {
var isInIframe = (parent !== window),
parentUrl = null;
if (isInIframe) {
parentUrl = document.referrer;
}
return parentUrl; }
https://stackoverflow.com/questions/13896805
复制相似问题