如果不用验证码,表单提交页面能否尽量避免机器刷?

2019-12-05 10:07:05 +08:00
 lixuda

各位大神,求教下 有 1 个表单页面(非手机端),为了避免被机器人刷单,又不想用验证码,有什么好的办法吗? 微信,手机号码验证除外,谢谢大家

3102 次点击
所在节点    问与答
16 条回复
izoabr
2019-12-05 10:09:02 +08:00
这东西道高一尺魔高一丈
CSRF
限制但 IP POST 频率
计算题
选图
拼图
之类的吧
locoz
2019-12-05 10:10:18 +08:00
有能锁死用户的唯一识别码(比如账号)就行,结合风控可以做到不用验证码,但是你又说微信、手机号码验证除外。
locoz
2019-12-05 10:13:23 +08:00
没有的话就用那种无感验证(比如 reCAPTCHAv3 那种后台检测、打分的)吧,能在尽量不出验证码的情况下提高刷的门槛。
manami
2019-12-05 10:13:50 +08:00
js 写个定时器,限制一段时间内提交操作
rogwan
2019-12-05 10:17:29 +08:00
一般情况,限制下 IP 频率就可以了。价值非常高的 post,你肯定是要有账号系统的吧
imdong
2019-12-05 10:19:07 +08:00
用客户端挖矿即可。
Torpedo
2019-12-05 10:28:18 +08:00
往客户端的方向走吧。
客户端接口大部分都是有 token 的。客户端代码重混淆,或者会用 c++。
那么同理,js 也可以和后端约定基于 token 的加密算法。
混淆的话,uglify 当然太简单了,可以使用 javascript-obfuscator
一定程度可以防止
Yoefs
2019-12-05 10:28:57 +08:00
限制同一 ip 在指定时间内重复提交
yzkcy
2019-12-05 10:30:12 +08:00
@manami 前端限制没用。
wangkun025
2019-12-05 10:31:48 +08:00
cloudflare 欢迎你
berumotto
2019-12-05 10:37:30 +08:00
我们应该换个思路,表单页面只允许机器刷,判断如果是人为提交就阻止他。这样人们就会想尽办法做出模拟人为提交的方式,从而反向达到防刷的效果~(逃
hostpai
2019-12-05 11:17:32 +08:00
随便什么验证码,都能机器刷
ClarkAbe
2019-12-05 11:41:15 +08:00
让客户端计算随机指定前缀的哈希
340244120w
2019-12-05 13:27:43 +08:00
注册的时候用手机号或者微信绑定呗。加上一次性表单 token,短时间提交次数超过前端限制的,直接封号。
游客也能提交表单的话,验证码啥的这类简单的都嫌麻烦,要防止估计做梦都想不出来。
至于说绑定 ip 的,了解下国内有多少公网 ip 吧。
lands
2019-12-05 18:04:16 +08:00
@manami 机器人都是直接走接口的
tjx20114
2019-12-13 11:53:17 +08:00
从机器人的角度考虑,
1. 能走尽量走接口
2. 使用不同 ip 来提交不同表单
防刷思路:
1. cookies 验证,记录 refer 等,验证不通过就跳转回主页,防止机器人直接访问接口,应该会过滤掉大量直接扫描接口提交的机器人
2. 找到机器人提交的表单的特征, 如 文本内容里面有广告? 有手机号?等过滤
完全避免:
1. 强验证码
2. 登录

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX