从加载到独立域的iframe的iframe html获取浏览器URL是否100%是不可能的?我试过JavaScript,它没有工作。我可以用什么语言来做这件事?谢谢!从子iframe获取URL
UPDATE 感谢您的帮助! PHP确实有效。
<?php
if(isset($_SERVER['HTTP_REFERER']))
{
echo $_SERVER['HTTP_REFERER'];
}?>
从加载到独立域的iframe的iframe html获取浏览器URL是否100%是不可能的?我试过JavaScript,它没有工作。我可以用什么语言来做这件事?谢谢!从子iframe获取URL
UPDATE 感谢您的帮助! PHP确实有效。
<?php
if(isset($_SERVER['HTTP_REFERER']))
{
echo $_SERVER['HTTP_REFERER'];
}?>
如果你问的是如果你可以通过Javascript获取在iframe
中托管你的页面的浏览器的URL,答案是否定的;你不能在正确书写的网络浏览器中做到这一点。如果iframe
可以监视托管它的任何东西,那么可以完成各种恶意的事情。
您可以从您的服务器端代码中查看托管页面请求中的referrer HTTP标头。这应该设置为嵌入页面的页面的URL。
您可以获得iframe设置为的初始src
属性。
alert(document.getElementById("iframeID").src);
但是如果inlying文档导航到另一个页面,你绝对无法获得新的地址。
一旦用户在与主文档不同的域中的iframe中导航,您就无法访问iframe中关于该新文档的任何信息。这是XSS攻击保护,不能被“围绕工作”
只要使用这个JavaScript来检测,如果你的网页是一个框架或iframe中:
<script>
if(top.frames.length > 0)
{
// do something like this to kill the iframe
top.location = "http://mysite.com";
}
</script>
谢谢 - 我不想杀死我所在的框架,只是知道它是什么,以便我们可以跟踪它并处理我们内容的安全性。感谢您的回应。 – 2010-10-26 21:45:34
这是否会获得当前的URL(如果用户已在框架内导航)或初始/默认网址? – 2010-10-26 21:17:30
如果您不知道帧ID,因为您没有控制将网站加载到iframe中的主机页,该怎么办?谢谢! – 2010-10-26 21:17:42
@Christian最初的一个,补充说明。 @Angelfilm否,您无法从iframe中控制主机页面。主机URL *可能出现在'HTTP_REFERER'请求标题中,但您需要服务器端脚本来解析该文件。 – 2010-10-26 21:19:04