찾다

 >  Q&A  >  본문

javascript - 第三方账号登录,没有验证码,后台如何防止被恶意POST请求刷账号

从新浪微博等第三方平台使用OAUTH2.0快速登录时,授权成功后前台可以获取到用户在第三方平台的唯一ID,然后向后台POST这个ID和其他信息,后台就根据这个ID生成一个新的账号。

这个ID的真实性我们后台是无法验证的,有什么比较好的方法可以防止有人频繁伪造POST请求来注册大量账号呢。

正常注册时,当然是用注册码来防止机器注册,但是第三方账号登录,不能让用户输入验证码

知道这个问题其实不可能完全解决,无论如何机器都可以模拟前端的行为,除非代码不可见,黑客们又猜不出来方法,只能尽量用比较简单的方法增加他们的麻烦,实在解决不了就只能限制每个IP每天的注册次数了

黄舟黄舟2775일 전302

모든 응답(3)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-10 15:50:20

    oauth登录成功后把access_token也传给服务器……,用access_token调用一下获取用户信息的接口验证access_token是否有效就行。

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-10 15:50:20

    这个简单,只需要判断下获取到的openid的request的url是不是来自官方就好,另外通过post获取这个第三方登录逻辑应该有更好的方式实现

    회신하다
    0
  • 迷茫

    迷茫2017-04-10 15:50:20

    同一个第三方ID只能生成一个账号就好。。。。

    회신하다
    0
  • 취소회신하다