2010-05-12 94 views
1

如果我無法控制外部網站或其內容,是否可以跟蹤iFrame中的按鈕點擊?在iframe中跟蹤按鈕點擊

(非常fictionnal例如)如果我有這樣的iframe:

<iframe src="http://www.johnny.com/plugins/like.php?href=http%253A%252F%252Fexample.com%252Fpage%252Fto%252Flike&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe> 

回答

1

如果您問是否可以在具有iframe的HTML的DOM中查找按鈕,然後向其添加onclick事件,那麼是的,如果您從同一個域中提供服務。

window.parent.getElementById() 

將工作 - 所以將任何其他的DOM功能。

如果你不在同一個域中,那麼瀏覽器不會讓你。它被稱爲跨站點腳本(XSS),被認爲是一種安全違規。

如果你在另一個域名,所有者確實添加了你的iframe,對吧?如果是這樣,讓他們也加入事件。他們可以傳遞變量並在你的iframe上調用helper函數。所以他們可以通過按鈕,你可以添加事件。

+0

我們在一個域中,我們已經安裝了一個引用另一個域的iFrame小部件,所以這是一個XSS的情況,理解。 是否可以添加一些覆蓋(假設我們知道頁面上的小部件位置)來跟蹤「onclick」事件並將其傳遞給iframe? 不幸的是,我們不能要求第三方小部件提供商向他們的iFrame添加任何東西。 – philgo20 2010-05-12 16:00:12

+0

這是事情 - 我希望不是。出於某種原因,XSS是一種安全違規行爲。廣告能否閱讀我的郵件或欺騙我做一些我看不到的事情。如果網站所有者不合作,您所做的任何事情都應該被瀏覽器阻止。如果你找到了方法 - 這是一個安全漏洞。 – 2010-05-13 00:31:20

0

無法可靠地跨瀏覽器,沒有。

這很容易被認爲是跨站點腳本(XSS)漏洞利用並被大多數現代瀏覽器所捕獲。

1

答案是:根本不可能與遠程站點沒有某種合作。
這是由於相同原產地政策踢你的保護。

如果您有某種合作,那麼您可以使用跨域消息傳遞(例如,使用easyXDM)。

+0

感謝easyXDM鏈接 – philgo20 2010-05-12 16:58:16