2011-03-25 137 views
0

我正在基於@anywhere的Web-Page上開發Twitter應用程序。Twitter @anywhere安全漏洞?

我認爲@anywhere是Facebook Javascript SDK的Twitter版本(也許這就是我錯了)。

無論如何,事情是這樣的。

您在網頁上放置了「與Twitter連接」的代碼,如果用戶使用Twitter登錄並授權您的應用程序,那麼您可以隨心所欲地做任何事情。

因此,如果@user_a使用他的Twitter帳戶登錄並訪問您的網站,您可以做一些花哨的事情,例如在用戶帳戶或其他內容中顯示@user_a追隨者或推文。

問題就是這樣發展的。假設@user_a已登錄到您的應用程序中,然後@user_a從twitter中註銷(因爲它是公用計算機:/),然後其他人以@user_b身份登錄到Twitter。如果@user_b轉到您的@anywhere網頁,則IT將看到@user_a已登錄的所有內容! D:

Twitter表示這一切都很好,因爲一切都基於cookie,並且您應該提供一個按鈕讓該人員從@anywhere註銷您的網站。對我來說這聽起來不切實際,因爲如果你(用戶)想停止使用Twitter,你只需從網頁上註銷,並且應該是全部的(如在Facebook上);你不應該記住,你已經連接到Twitter的網站,並支付他們的訪問退出,只是爲了保護自己免受別人使用你的帳戶。而且,更糟糕的是,這個cookie可能很容易被盜取,而且你知道這個故事的其餘部分。

我做錯了什麼?我是否認爲@anywhere API與它的意圖不同?

+0

他們可能在巨大的交通下我認爲...我希望我的應用程序很慢,並定期因爲交通量大而下降。 – cherouvim 2011-03-25 16:31:38

回答

0

@anywhere不會將自己宣傳爲SSO,所以它不需要Single簽發機制。這個想法是使用@anywhere登錄到其他網站,在這一點上,這些網站負責處理會話,包括何時簽署用戶。就像用戶使用兩個不同的密碼登錄到站點a和站點b一樣,他們有責任對每個站點進行簽名。

儘管@anywhere令牌保持活動狀態可以允許後續用戶使用,但令牌只會在幾小時內激活,從而限制潛在的損害。

+0

那麼,好的,當他們離開我的網站時,退出應該由我自己處理。 – almosnow 2011-03-29 00:36:25