雜談 嚇自己一跳的新浪微博驗證pin碼
今天無意之中做了一個傻瓜的測試,結果發現了一個自己嚇自己一跳的問題。
我所做的測試是這樣子的:
第一步,我點選獲取pin碼,在彈出一個頁面之後,我發了這個連結給對方,讓對方輸入密碼和賬戶進行授權,於是 等到了一個pin碼,對方沒有使用pin碼直接登陸。
第二步,我使用他給我的pin碼登陸,結果登陸對方的號,在客戶端裡面顯示對方的資料。
結果 ,嚇唬我一跳。其實,連結地址在授權之後就再也登陸不了,系統會提示錯誤資訊,這樣其實沒有太大擔心賬戶安全。至於生成連結的演算法,我們沒必要去理會。導致這個結果是因為發了我登陸連結給對方,讓對方在這個連結下賬號和密碼進行授權,然後再給了pin碼我登陸,而我根本不知道對方的賬號和密碼。這樣做法,就暗示了在這個連結下授權後得到pin碼,可以登入到對方的賬號。這種有點傻,也有一點邏輯性的誤解,只是無意之中發現這種情況,所以多少有點驚訝。
流程:A將登陸連結發給B--->B在這個連結下進行授權和登陸-->B獲取pin碼發給A
A輸入pin碼並登陸,結果B的資料在A客戶端顯示。
其實這個測試沒有多少意義,只是自己思維邏輯出現了一點問題,這種登入連結只能一次性有效,而其他人會不會怎麼傻把這些資訊告訴對方呢?
引用官方文件裡面一句話 “如果儲存了使用者認證過的Token,則不需要登陸,也不需要pin_onClick的呼叫過程" 在下次登陸的時候,先儲存在客戶端裡面,然後再進行載入?這樣可能會方便一點。
下面是XAuth申請的條件:
隨著新浪使用者的增長,新浪微博的認證方式將加緊收縮了第三方的許可權,第三方開發要是沒符合xAuth認證的條件,就沒那麼好玩了。web應用並沒有受到多少影響,其實這些受到影響的應該是桌面和移動平臺比較多。新浪推出了官方認可的桌面版的adobe air 客戶端,其實暗示了什麼?大家都懂的。微博的使用者率直升,安全隱患就是一個值得斟酌的問題,取消密碼和賬戶直接在第三方登陸的方式,對於一個使用者來講就一點方便性都沒有了,但是這是保證使用者的一種安全手段,還是非常必須的。若果沒有更多條件和新浪進行談判,這個開放平臺反而更多是變成收買賣平臺,開放不怎樣開放。曾經看過一篇文章關於騰訊微博是施捨還是開放?騰訊微博之所以沒多少第三方支援最大一個問題還是使用者賬號安全問題,開發web應用是一條可以走的路,而對騰訊微博來講第三方客戶端已經沒多大意義。
無論怎樣講,第三方要是想獲取更多資料許可權,我想你沒有更多談判資本是不太可能,收緊條件開放,第三方想在這裡拿到好處,那是天方夜譚的。從新浪微博開放至今,有多少個第三方從中得到滿意的收入?這是一個很本質的性問題,就好比如一個作家,苦苦寫成一本書,結果沒有市場,還是累了自己。
開發者是不是一個被商家忽悠的工具? 玩這個遊戲一開始就需要懂得這個遊戲規矩,輸贏規則不是由你來定,而我們玩這個遊戲不是叫《大富翁》。要想在這裡得到開發資金,需要投入時間和資金成本,而至於你在這裡能否得到的滿意的收入,我想只能佔小數部分人。在收益分成上,有多少個應用得到了獎勵資金?你不去伸手去問對方拿,那麼對方願意自動分給你嗎?