2009-09-27 80 views
1

我想在iframe中託管雅虎開放標識登錄。然而,只要雅虎頁面加載它執行以下javascript:防止Yahoo OpenID重定向頁面

<script type="text/javascript">if(top == self) 
{ document.write("") } else 
{ top.location.href = "http://www.yahoo.com" }</script> 

換句話說,它重定向整個頁面(不只是iframe)。我怎樣才能防止這個重定向(除了所有的法律問題!)?

回答

1

我不認爲這就是你應該如何正確地實現它,並且代碼是有原因的。你有沒有通過http://developer.yahoo.com/openid/

+0

我知道我應該做的。我只是想做不同的事情。 – usr 2009-09-27 22:46:15

+0

也許有一個原因,你需要以某種方式做到這一點? – phoebus 2009-09-27 22:52:00

+2

老實說...你不應該想要也不能修改託管在你的iframe中的外部域中的代碼。 – 2009-09-27 22:55:34

7

雅虎絕對有權阻止你這樣做;所有的OpenID提供者都應該。

將OpenID放入框架中意味着沒有可見的地址欄表示不能保證OpenID登錄表單實際上來自Yahoo;實際上,它看起來像是來自您的網站。試圖避免被釣魚的用戶應該從來沒有將他們的密碼輸入到這樣的表格中。 OpenID的重點在於它可以保證您的身份,而不會讓您將密碼提供給您想要登錄的每個站點。

所以,不,你不能阻止它。

+0

我認爲你是正確的,供應商應該防止這一點。現在改變觀點:我碰巧想要他們不想要的東西。只是幫助我做到這一點。危害在哪裏? – usr 2009-09-28 09:15:16

+0

這是無法完成的,如果可以完成的話,這將是雅虎必須解決的安全漏洞。或者你想讓我爲你攻擊雅虎的服務器並改變它? :-) – bobince 2009-09-28 09:49:22

+0

如果我的搜索變成空的,我會回到你的報價;-) – usr 2009-09-28 10:24:22

0

你有沒有嘗試添加這對您的外框: <body onbeforeunload="return 'click cancel';"></body>