2013-07-13 169 views
1

我正在開發通過javascript在其他站點頁面中顯示的簡單登錄。框架登錄中的安全風險

第一次,我的腳本加載登錄頁面作爲內容div注入頁面,但我意識到如果「其他網站頁面」從我打開我的登錄名,有一個簡單的JavaScript函數「聽」我插入用戶名和密碼字段可能會對我的用戶造成安全風險。

現在我改變了我的方式,我想用一個腳本打開登錄頁面,使用fancybox例如「注入」一個框架到一個頁面。

現在我的問題:這種方式可以安全嗎?或「其他網站頁面」可以使用一些腳本來捕獲我的用戶插入到框架登錄中的帳戶數據?

謝謝

回答

0

不能作出可信不可信的iframe父頁面的模型安全。

作爲一個iframe,你完全處於父頁的擺佈之中。除了用於顛覆與框架內容交互的點擊劫持攻擊的問題之外,還有一個問題,即被要求登錄的用戶無法知道iframe是否真實。

就用戶可以看到的,登錄表單是地址在地址欄中的站點的一部分;儘管一些瀏覽器確實提供了檢查iframe並驗證其來源的能力,但這不是您可以合理期望用戶每次都遵循的行爲。

如果您要將敏感內容(例如登錄表單)放入iframe中,您(和用戶)必須完全信任包含網站,其名稱出現在地址欄中。如果你不這樣做,那麼你將需要一個不同的模型。通常:通過登錄頁面重定向用戶,如OpenID,或打開彈出窗口。

爲避免切換頁面,您可以採取一些妥協措施:例如,如果用戶擁有cookie,則可以跳過登錄表單,或者提供一個簡單的登錄表單,要求提供不完整或不同的憑證完整的登錄表單。 (這個想法是,如果包含網站以某種方式截獲憑證,僅僅做一個完整的登錄是不夠的,包括網站不會觸及包含網站的cookie。)

+0

謝謝你的回答。在行爲前詢問是個好主意。 :) – markos