热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

用户频繁请求一个数据,怎样来设计验证码屏蔽

比如一个SNS社区中,一个用户不停添加好友,怀疑是机器人的行为,假设该机器人在某一时间内每隔3秒就发送一个好友请求,系统怎样来辨别这是机器人的行为然后生成验证码加以阻止,想了很久都没想到很好的解决方法
比如一个SNS社区中,一个用户不停添加好友,怀疑是机器人的行为,假设该机器人在某一时间内每隔3秒就发送一个好友请求,系统怎样来辨别这是机器人的行为然后生成验证码加以阻止,想了很久都没想到很好的解决方法

回复内容:

比如一个SNS社区中,一个用户不停添加好友,怀疑是机器人的行为,假设该机器人在某一时间内每隔3秒就发送一个好友请求,系统怎样来辨别这是机器人的行为然后生成验证码加以阻止,想了很久都没想到很好的解决方法

我觉得首先我们不用辨别是不是机器人,这些敏感操作最好带api key。对于该API根据uid或者api key设置 rate limit,例如1分钟不能发送加好友数超过20个。当超过时返回错误提示。假如它还继续发送大量请求,那么机器人无疑,完全禁止该uid的请求。

function 添加朋友(){
    if(没登陆) die;
    if(当前时间-上次添加好友时间>3){
        继续添加好友
    }
    else{
        你添加的太快啦
    }
}

用图片验证码,如果是机器人,他破解需要时间。再限定一分钟同一账号提交数据的次数。

像腾讯,百度的验证码基本可以屏蔽%95的机器人了,网上有类似开源的验证码类。
制定一个规则,比如每个用户一分钟内只能添加10个好友(1分钟内超过5个时出现验证码),每天增加的好友上线为100个(超过50个时出现验证码)。把这些数据存到memcache中,每次用户发送添加好友的请求先对比下是否符合规则

推荐阅读
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 本月初,我们为大家推荐了一系列精选书单,助力大家提升技术水平。月底,我们将介绍几位行业大牛,帮助大家找到人生导师。InfoQ一直致力于为用户提供有价值的资源和支持。 ... [详细]
  • 智能医疗,即通过先进的物联网技术和信息平台,实现患者、医护人员和医疗机构之间的高效互动。它不仅提升了医疗服务的便捷性和质量,还推动了整个医疗行业的现代化进程。 ... [详细]
  • 你根本不会用百度
    本文转载自第2大脑,详情可以扫描下方二维码关注该公众号摘要:教你正确使用百度。想必你的朋友圈这两天应该被《搜索引擎百度已死》这篇文章刷屏了吧࿰ ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • Python技巧:利用Cookie实现自动登录绕过验证码
    本文详细介绍了如何通过Python和Selenium库利用浏览器Cookie实现自动登录,从而绕过验证码验证。文章提供了具体的操作步骤,并附有代码示例,帮助读者理解和实践。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 使用EmguCV 4.5.4实现LSD直线检测的C#示例
    欢迎关注“视觉与AI技术前沿”公众号,获取最新的计算机视觉和深度学习干货。本文将详细介绍如何使用EmguCV 4.5.4在C#中实现LSD(Line Segment Detector)直线检测,并提供完整的代码示例。 ... [详细]
  • 百度安全应急响应中心(BSRC)与补天漏洞响应平台共同举办2021年暑期挑战赛,提供丰厚奖励、联名证书及更多惊喜。活动时间从7月12日至7月31日。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 解决Spring Boot项目创建失败的问题
    在尝试创建新的Spring Boot项目时遇到了一些问题,具体表现为在项目创建过程中的两个关键步骤出现错误。本文将详细探讨这些问题及其解决方案。 ... [详细]
  • 本文介绍百度AI Studio这一集成开发平台,涵盖丰富的AI教程、经典数据集及云端计算资源。通过具体示例——在AI Studio上构建线性回归项目,帮助初学者快速掌握其核心功能与操作方法。 ... [详细]
author-avatar
平凡洗护店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有