为了防止恶意刷单,有没有什么 js 执行成本相对较低,但是其他语言执行成本很高的方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yaozeyuan93
V2EX    问与答

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

  •  
  •   yaozeyuan93 2017-04-21 18:25:16 +08:00 3309 次点击
    这是一个创建于 3146 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    附:针对语言优先级

    1. 易语言
    2. Python
    3. PHP
    4. Java
    5. Ruby
    第 1 条附言    2017-04-23 23:48:46 +08:00
    因为这个活动本身奖励值很低,不值得专门为其上一套反欺诈服务,所以问题的核心在于迫使刷单方必须在页面上执行一遍 js 之后才能拿到结果,提升刷单方的执行成本。

    比如说,如果能强制让刷单方用 PhantomJS 过一遍,被 node.js 爬,那我们也认了

    我周末的时候想了一套比较狠的解决方案 =>

    我从网上找了一个 js 实现的 md5 算法,随便改了里边的几个参数,调整了几个步骤的顺序,然后混淆压缩。然后算出来一串的 key => value, 服务端给前端返回 key, 前端用修改过的私有 md5 方法计算 value, 然后返回给服务器验证。

    这样应该就能强迫刷单方执行页面的 js 了

    周一试一下,如果能够有效抑制住刷单的话再更新
    5 条回复    2017-04-22 00:09:22 +08:00
    airyland
        1
    airyland  
       2017-04-21 18:47:39 +08:00 via iPhone
    要求绑手机号然后使用第三方的账户风险鉴定接口
    crab
        2
    crab  
       2017-04-21 18:55:41 +08:00
    第 1 验证码
    第 2 IP 限制
    第 3 不管用户有没有成功,都响应成功。
    geelaw
        3
    geelaw  
       2017-04-21 18:57:29 +08:00
    为啥用户不能开个浏览器然后 fire up his console and run the f**king code in JS ?

    要防刷单,不能从前端难以进攻的角度防,要从后端验证的角度。
    tinyproxy
        4
    tinyproxy  
       2017-04-21 19:48:50 +08:00 via iPhone
    你需要反欺诈服务。再说了,实在不行我直接拿浏览器跑恶心你成本也很低啊
    popkara
        5
    popkara  
       2017-04-22 00:09:22 +08:00
    楼上说的对,这个已经有很成熟的方案了,自己搞麻烦不说还效果不好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4184 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 00:12 PVG 08:12 LAX 16:12 JFK 19:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86