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