從加載到獨立域的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