我知道如何实现基于令牌的身份验证。但我担心的是用户操作,如注册,登录或验证,以防止攻击机器人。我可以想象一个机器人通过假电话号码发出请求,而我的短信或邮件服务器会响应所有这些!或者数以千计的注册用户在数据库的用户表中,这些用户表是伪造的,未经过验证。我知道一些防火墙策略可以阻止网络层中的这类攻击和流量。但是有可能确保"未经认证的"使用验证码或其他方式的HTTP操作?
如果是,如何将验证码图像从API服务器发送到客户端?在RAW?如果发送Captcha是可能的,那么如何找到哪个验证码适用于哪个客户端?会话有帮助吗?
感谢您的关注。
答案 0 :(得分:2)
您可以实施一种CSRF(跨站点请求伪造)陷阱来避免这种情况。我使用CSRF和蜜罐字段的组合。这是基本的纲要:
如果测试失败,我会回复401或404
Reg bots通常会填充honeypot字段,而且有些人足够聪明以规避CSRF - 我会记录所有未通过这些测试的尝试并捕获很多机器人尝试。