为了防止恶意刷单,有没有什么 js 执行成本相对较低,但是其他语言执行成本很高的方案

2017-04-21 18:25:16 +08:00
 yaozeyuan93

这两天搞活动的时候被刷的很惨,对方直接通过调接口参与活动。以至于每小时 PV 500 多,参与用户 1 万+ 。。。

然后问题就是怎么才能区分出来正常操作的用户和调接口刷单的用户。最好能做到对用户透明,但是能有效地恶心到刷单的人。我是希望能找到一个 js 执行成本很低,但对其他语言执行成本很高的方法。在提交之前先执行这个方法,然后把结果作为验证值 post 上来。

比如说, js 用 CSS 选择器在 html 中选元素非常方便,但其他语言基本没法这样做,所以可以由后端返回一串 css 选择器, js 在浏览器里执行后把元素长度返回回来,跟后端设定值对照一下,不一致就可以判断是刷单。这样写上 20 个选择器,每半小时换一个,基本可以过滤掉所有靠易语言刷单的人了。

但这种方法对于用 python 刷单,又知道 BeautifulSoup 的人就无效了。

所以,有没有什么方法,可以有效地把刷单用户给区分开呢(只要能有效提高对方的刷单成本就行)

附:针对语言优先级

  1. 易语言
  2. Python
  3. PHP
  4. Java
  5. Ruby
2853 次点击
所在节点    问与答
5 条回复
airyland
2017-04-21 18:47:39 +08:00
要求绑手机号然后使用第三方的账户风险鉴定接口
crab
2017-04-21 18:55:41 +08:00
第 1 验证码
第 2 IP 限制
第 3 不管用户有没有成功,都响应成功。
geelaw
2017-04-21 18:57:29 +08:00
为啥用户不能开个浏览器然后 fire up his console and run the f**king code in JS ?

要防刷单,不能从前端难以进攻的角度防,要从后端验证的角度。
tinyproxy
2017-04-21 19:48:50 +08:00
你需要反欺诈服务。再说了,实在不行我直接拿浏览器跑恶心你成本也很低啊
popkara
2017-04-22 00:09:22 +08:00
楼上说的对,这个已经有很成熟的方案了,自己搞麻烦不说还效果不好。

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

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

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

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

© 2021 V2EX