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