我正在寫一個Facebook畫布webapp,執行登錄(使用urllib)到第三方網站並執行操作代表用戶。這意味着我有2個帳戶;用戶使用我的web應用程序的帳戶(通過facebook)以及應用程序用來代表他們執行登錄的帳戶(使用者提供的用戶/密碼詳細信息)。django&facebook:facebook webapp的安全與設計,代表用戶執行第三方登錄
我顯然不想在數據庫中使用明文密碼。但我也不希望用戶每次執行操作時都必須輸入密碼。我希望他們在註冊時輸入一次密碼,並且我想對密碼進行加密,但是我要加密哪些內容? 任何獲得訪問權限(即無用)的任何人都可以訪問服務器上的任何密鑰,因此我正在考慮通過Facebook API對其進行加密。
當用戶登錄(並將應用程序的訪問令牌提供給應用程序)時,應用程序可以通過API請求該值,並使用此值對其第三方密碼進行加密/解密。如果沒有用戶登錄到應用程序,任何有權訪問服務器的人都將無法發出此請求。 (這仍然意味着有人在服務器上窺探可能會獲得登錄用戶的第三方密碼,但任何獲得一次性訪問數據庫的人都看不到密碼。)這是一廂情願嗎?
第三方網站是否不提供OAuth訪問權限?因爲這解決了你的大部分問題...... – 2011-04-26 14:21:36
沒有,根本沒有API,所以這就是爲什麼我必須使用urllib來本質上屏幕刮擦和執行登錄POSTS等 – 2011-04-26 14:25:32
當您登錄時,此網站是否放入cookie?你可以使用這種機制,所以他們只需要在下次cookie過期時再次登錄? – dwarfy 2011-04-26 15:39:03