2010-07-29 74 views
0

我在我的一個應用程序中使用Telerik RadWindow控件。當用戶想要爲應用程序授權Twitter時,窗口將顯示Twitter的OAuth對話框。在彈出窗口中停止Javascript重定向

但是,每當我顯示Twitter OAuth的彈出窗口,甚至是簡單的Twitter頁面時,整個瀏覽器都會被重定向。

當URL指向非Twitter網站時,控件工作得很好。我想查看是否可以阻止該重定向,或者可能有更簡單的方法來完成OAuth確認。任何關於如何實現這個功能的建議將不勝感激。

在此先感謝。

+0

如果我正確解釋你的問題,這種行爲是否有意爲安全?所以用戶知道他們真的登錄到Twitter,而不是你的網站僞造Twitter來嗅探密碼? – 7wp 2010-07-29 17:22:11

回答

0

此行爲可能是由Twitter引起的。事實上,它也應該發生在許多其他網站(Facebook和類似網站)上。爲防止惡意網站竊取用戶密碼,登錄頁面會檢測它是否顯示在內聯框架中(IFRAME元素,如RadWindow中使用的元素),如果是,則重定向整個瀏覽器窗口。通過這種方式,他們可以確保在用戶輸入用戶名和密碼時不會有流氓JavaScript運行。

+0

感謝您的回答。 – user326502 2010-08-04 12:22:17

0

Twitter已正確創建其授權頁面以防止跨站點腳本攻擊,這意味着您無法將其嵌入到框架或JavaScript彈出窗口中。

不幸的是,假設用戶允許彈出窗口,唯一的另一種「授權」方式是完全重定向,或者彈出窗口。

彈出窗口的問題在於,當twitter重定向到您的應用程序時,您需要一種「關閉」它的方法。它可以完成,但這樣做有點棘手,誰知道它是否可以在多個瀏覽器中工作。最好讓你的網站現在做一個完整的重定向。