目標:Website1通過http請求發送Website2用戶數據。瞭解跨域用戶身份驗證
問題:Website2確保數據來自Website1,而不是一些黑客。
注:我不會使用HTTPS來,我認識到,要解決的一個大問題,但現在GAE不支持SSL爲自己的域名:http://code.google.com/appengine/kb/general.html#httpsapps
所以我做了一些偉大的通過在兩個站點之間加密和發送數據來實現,另一個是能夠解密和讀取數據的站點。我在Google App Engine/Python/Django-nonreal上,這個頁面是讓pycrypto工作的一個很好的資源:http://code.activestate.com/recipes/576980/ Kn
因此,我很熟悉知道用戶數據已加密,而且您需要擁有是閱讀它的關鍵,但Website2如何知道請求來自Website1?什麼阻止黑客再次發送完全相同的請求,而Website2認爲這個黑客有效在Website2上做什麼?
例如,有人不能只聽HTTP請求並記錄加密的數據是通過線路發送的?然後黑客可以做他們自己的請求,具有與之前使用的Website1相同的值,並且黑客可以對Website1執行與Website1相同的操作?本質上,黑客會告訴Website2他們是Website1的有效登錄用戶。
總體目標:Website2被告知用戶數據,該數據僅來自Website1的請求。除非您的網站1使用相同的加密數據Website1發送到網站2,否則任何其他來自黑客的請求都將失效。
不知道我是否解釋得不夠好,或者是否有一個我基本沒有的基本理解,但感謝您的幫助。
OpenID並沒有解決重播攻擊_at all_ ... – bdonlan 2011-02-11 17:27:14