2024-4-17 群讨论:防刷机制

以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号:hashcon,私信进群拉你

防刷子机制

主要分为两种场景:

  1. 针对未登录或者未注册用户,对于注册,各种验证码等类似的接口进行防刷机制,同时尽量减少对于用户的打扰。
  2. 针对已经登陆的用户
    1. 参与活动设置必要的门槛:比如最近交易量。
    2. 引入 MFA 之后,限制用户只能通过绑定的 MFA 的设备参与活动。

针对 2 其实主要是从业务的角度考虑,MFA 机制不仅是安全性的保证,MFA 更是利于验证用户设备有效,从而可以使用设备做一些业务的限制。

针对 1,可以使用以下的机制减少验证码对于用户的打扰:

  1. 使用类似于 Google reCAPTCHA Enterprise(reCAPTCHA v3)或者国内可以用 hCAPTCHA Enterprise 服务,针对敏感接口,例如注册,短信 OTP 接口等等接入,每次请求会带上一个 Google Recaptcha Enterprise 的评分:
    1. reCAPTCHA v3 在用户浏览网站时连续地评估用户行为。这包括用户与页面的交互方式(如鼠标移动、滚动、点击等)、设备和浏览器的信息。它还可能分析用户在整个会话中的行为,包括访问多个页面的顺序和速度。
    2. 基于这些行为分析,reCAPTCHA v3 为每个用户请求分配一个分数,范围从 0.0 到 1.0。分数越接近 1.0 表示系统越认为该行为来自真实人类,分数越低则越可能是由自动化脚本或机器人产生。这里是一个分数分布的例子:
  2. 你的后台根据这个分数(笔者这里是针对所有低于 0.8 的请求),请求响应是需要验证码才能继续。这里的验证码实现方案就很多很多了,笔者就不赘述了。
  3. 也就是,对于大部分用户,注册的时候,其实连验证码都不需要输入。对于评分比较低的用户才去让用户接受挑战(challenge),或者是输入验证码,或者是其他挑战方式。

为何不建议使用 ip + 设备封禁或者限流(限流并不是禁止访问,而是跳转或者弹出验证码)?相较于上面的手段,对于用户的打扰比较多。同时 ip 和设备比较容易伪造(ip 可以通过 vpn,设备可以模拟等等),并且,现在的浏览器的发展趋势是 user-agent 趋于统一,暴露的信息越来越少:

developers.google.com/privacy-san...

个人简介:个人业余研究了 AI LLM 微调与 RAG,目前成果是微调了三个模型:

  1. 一个模型是基于 whisper 模型的微调,使用我原来做的精翻的视频按照语句段落切分的片段,并尝试按照方言类别,以及技术类别分别尝试微调的成果。用于视频字幕识别。
  2. 一个模型是基于 Mistral Large 的模型的微调,识别提取视频课件的片段,辅以实际的课件文字进行识别微调。用于识别课件的片段。
  3. 最后一个模型是基于 Claude 3 的模型微调,使用我之前制作的翻译字幕,与 AWS、Go 社区、CNCF 生态里面的官方英文文档以及中文文档作为语料,按照内容段交叉拆分,进行微调,用于字幕翻译。
    目前,准确率已经非常高了。大家如果有想要我制作的视频,欢迎关注留言。
    本人也是开源代码爱好者,贡献过很多项目的源码(Mycat 和 Java JFRUnit 的核心贡献者,贡献过 OpenJDK,Spring,Spring Cloud,Apache Bookkeeper,Apache RocketMQ,Ribbon,Lettuce、 SocketIO、Longchain4j 等项目 ),同时也是深度技术迷,编写过很多硬核的原理分析系列(JVM)。本人也有一个 Java 技术交流群,感兴趣的欢迎关注。
    另外,一如即往的是,全网的所有收益,都会捐赠给希望工程,坚持靠爱与兴趣发电。
相关推荐
diemeng111916 分钟前
2024系统编程语言风云变幻:Rust持续领跑,Zig与Ada异军突起
开发语言·前端·后端·rust
Warren9820 分钟前
Springboot中分析SQL性能的两种方式
java·spring boot·后端·sql·mysql·intellij-idea
白初&1 小时前
安全面试4
安全·面试·职场和发展
张胤尘1 小时前
Lua | 每日一练 (3)
开发语言·面试·lua
计算机学姐2 小时前
基于SpringBoot的校园消费点评管理系统
java·vue.js·spring boot·后端·mysql·spring·java-ee
猎人everest2 小时前
Spring Boot数据访问(JDBC)全解析:从基础配置到高级调优
java·spring boot·后端
重庆穿山甲2 小时前
Akka实战指南:高并发难题的终极解法
后端
coderzjy2 小时前
苍穹外卖中的模块总结
spring boot·后端
Distance失落心2 小时前
java基于数组实现队列(四)
java·开发语言·数据结构·算法·面试·java-ee·intellij-idea
Luo_LA2 小时前
【Java 面试 八股文】JVM 虚拟机篇
java·jvm·面试