Re: [請益] REST 網站 api 安全性

作者: gn01838335 (寂靜的生存者)   2016-10-01 11:53:56
比較簡單是用圖形驗證碼才能查資料吧
圖形驗證碼通過後給一組token可以查一次
這樣就可以防大量查詢。
驗證的話你可以用google驗證
他現在驗證行為很困難
例如幾間房子等。
你覺得現在機器人有這麼聰明嗎
作者: pttworld (批踢踢世界)   2016-10-01 12:04:00
圖片驗證可以使用請選其中五間潛力公司的logo。
作者: plcder (蓋頭)   2016-10-01 12:19:00
google搜索也在堵機器人我剛剛也被google圖形驗證
作者: bbser   2016-10-01 12:53:00
我書讀得少,想問一下呼叫API怎麼做圖形驗證?
作者: deanh (夜想者)   2016-10-01 13:17:00
這不難,你一個API吐出hash跟一個base64編碼的圖片,用戶端必須把base64編碼的圖片轉成真是圖形之後在用原hash code+圖片內文送一次api拿到這個api token
作者: viper9709 (阿達)   2016-10-01 13:26:00
這個方法好
作者: bbser   2016-10-01 13:28:00
你們是不是把呼叫API和使用者操作搞混了?聽起來像是兩個API Call阿,第二個API call就是解法,這用csrf 不就可以解決了嗎?
作者: sean72 (.)   2016-10-01 13:30:00
這是一個方式。但是有兩個問題: 從使用者角度,我希望做到除非"必要",不然不登入,減少擾民的狀況,讓大家會來我的網站。而且別人架設的前端,應該也可以模擬我自己的前端,進而取得token之類的,然後進行api存取吧?
作者: bbser   2016-10-01 13:35:00
只要是public API都會有這個問題,除非你定義何謂「必要」,然後做在你的API param裡面。
作者: sean72 (.)   2016-10-01 13:39:00
"必要": 例如留言,想分享到fb等等有些網站強迫使用者一定要登入的,我都覺得好討厭
作者: bbser   2016-10-01 13:43:00
如果你要公開,但又要有限制,在Header裡放token是個解法,token設計是門學問,有很多best practice 可以研究一下。你那個不叫「必要(滿足什麼條件才能呼叫API)」,那叫「需求(API提供什麼功能)」
作者: sean72 (.)   2016-10-01 13:51:00
我的意思是 除非萬不得已 不然我不希望使用者圖形驗證或是使用者登入 等等的
作者: bbser   2016-10-01 13:52:00
我舉個例子好了,如果我有一支API是add(int a, int b)這時候呼叫Api的人怎麼做圖形驗證?如果可以圖形驗證,那已經有UI了不是?有介面的情況跟API call不同阿?
作者: Masakiad (Masaki)   2016-10-01 13:59:00
完整的方法是綁token後分析呼叫api的行為,把像機器人的token ban掉。
作者: bbser   2016-10-01 14:02:00
你要的是認清敵我關係,讓有token的人做事,沒token的人食屎。token怎麼做才不會被仿造是API developer 的工作。圖形驗證,登入可以視為token來源,通過了才有token,有token才能做API call.而不是在API call當下做圖形驗證或登入,這是ui flow。簡單說如果有token就是200,沒有就是401。
作者: TSW (翹班帝國)   2016-10-01 16:33:00
不想圖形驗證的話就用reCAPTCHA?講到這邊已經快變成 UI/UX 問題了
作者: mepowerlmay (用心,找對人)   2016-10-02 14:24:00
機器人都可以下棋了 還不聰明嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com