V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tingyunsay
V2EX  ›  2018

淘宝登录滑块拖动

  •  
  •   tingyunsay · 2018-03-07 16:36:48 +08:00 · 5850 次点击
    这是一个创建于 2240 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在研究淘宝的登录滑块验证,使用的是 selenium+Firefox,大概了解到其需要生成一副比较类似人为操作的轨迹图,按照轨迹图去拖动才有可能通过验证
    但在尝试的时候发现另外一个问题,就是关于输入手动点击登录和机器点击登录:

    1.手动点击,大概率不会出现滑块,直接登录就能成功
    2.机器点击,首次不会出现滑块,之后每次再点击登录,都需要二次输入密码 + 拖动滑块

    问题如下:
    1.难道淘宝在我进入登录的那个页面开始,就会记录来访者的操作吗?否则,为什么我手动点击登录不会出现滑块,而一旦使用机器登录点击,就会出现二次登录和滑块呢?

    2.如果淘宝真的在我进入页面就开始监控了,为何不通过从输入账号密码的行为去判断是否机器登录,还要加上一个滑块去二次验证,既然都知道你可能是机器(点击登录,让你拖动滑块 -- 这一行为意味着淘宝猜测你可能是机器人)

    3.如果 2 成立,我们的登录是否能直接从输入账号密码这里开始,加上一些其他的操作行为,让淘宝的服务器觉得我们是人工操作呢?

    不知道关于第二点的猜想是不是正确的,希望大家指出错了的地方
    我确实有点疑惑:如果不是淘宝对你的输入账号密码的行为进行检测了,为什么会让你二次验证登录
    8 条回复    2019-08-16 15:55:04 +08:00
    tingyunsay
        1
    tingyunsay  
    OP
       2018-03-07 21:36:42 +08:00
    貌似第 2 点我猜对了一点,我在添加了一些抖动之后,在输入账号和密码之前控制鼠标滑动了一下,现在基本登录不会二次登录,但是这种方法不知道是不是侥幸
    462901566
        2
    462901566  
       2018-03-16 15:28:55 +08:00
    您好,我也是在处理这个拖动验证中碰到一些问题,看到您的博文很受启发,但是具体实现还是碰到了一些问题,方便问您一下这个抖动具体是怎么实现的吗?
    tingyunsay
        3
    tingyunsay  
    OP
       2018-03-18 15:17:39 +08:00
    @462901566 我是让鼠标在输入之前随机点击一个区域内的坐标,我是使用 python 的 ActionChains 库,代码如下: ActionChains(self.driver).move_by_offset(random.randint(10,60), random.randint(10,60)).perform()
    在输入前加上这一句即可,可以尝试下
    p1094358629
        4
    p1094358629  
       2018-05-08 18:37:45 +08:00
    @tingyunsay 我按照你的加了这句话不管用,还是要滑动,我用模拟鼠标拖拽的方式验证,1160 和 370 是目标点的坐标,但是验证一直通不过,很难受
    ActionChains(driver).drag_and_drop_by_offset(move_block_start,1160,370).perform()
    tingyunsay
        5
    tingyunsay  
    OP
       2018-05-10 14:59:10 +08:00
    @p1094358629 用这个随机点击去避免触发滑动 ,从而登录通过的情况 是基于你的账号登录没有触发验证码(拖动滑块)之前,如果是已经触发到了拖动滑块那一步(比如说你之前老是登录失败,就可能触发滑块,有一定时效性),这里加不加点击都会需要验证了,因为淘宝已经认为你是一个机器操作了。可以换个新的账号试试,如果第一次登录就需要拖动滑块,那应该是淘宝修改了判断页面的策略。
    p1094358629
        6
    p1094358629  
       2018-05-10 17:18:54 +08:00
    @tingyunsay 我这里的情况是:先输入用户名,再输入密码的时候,跳出滑块的。但是如果是我新开一个页面全程手动输入,则不触发滑块。所以初步的结论就是淘宝对页面已经做了些机器人的判断
    tingyunsay
        7
    tingyunsay  
    OP
       2018-05-11 10:28:31 +08:00
    @p1094358629 有空我也再测测我那代码现在还能不能用 ╥﹏╥... 可以试着打开一个登录页面,不动鼠标,一直用 tab 键切换输入账号密码,会不会出现滑块。感觉这个东西还是不能取巧呀,最好用模型生成一个滑动的轨迹图暴力通过,但那个东西涉及到更多的东西,暂时没时间去学....我是个假的程序员 ╮(╯_╰)╭
    VVTA
        8
    VVTA  
       2019-08-16 15:55:04 +08:00
    driver.exe 里面个字符串需要修改下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5608 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:37 · PVG 14:37 · LAX 23:37 · JFK 02:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.