淘宝登录滑块拖动

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

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

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

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

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

不知道关于第二点的猜想是不是正确的,希望大家指出错了的地方
我确实有点疑惑:如果不是淘宝对你的输入账号密码的行为进行检测了,为什么会让你二次验证登录
5866 次点击
所在节点   2018
8 条回复
tingyunsay
2018-03-07 21:36:42 +08:00
貌似第 2 点我猜对了一点,我在添加了一些抖动之后,在输入账号和密码之前控制鼠标滑动了一下,现在基本登录不会二次登录,但是这种方法不知道是不是侥幸
462901566
2018-03-16 15:28:55 +08:00
您好,我也是在处理这个拖动验证中碰到一些问题,看到您的博文很受启发,但是具体实现还是碰到了一些问题,方便问您一下这个抖动具体是怎么实现的吗?
tingyunsay
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
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
2018-05-10 14:59:10 +08:00
@p1094358629 用这个随机点击去避免触发滑动 ,从而登录通过的情况 是基于你的账号登录没有触发验证码(拖动滑块)之前,如果是已经触发到了拖动滑块那一步(比如说你之前老是登录失败,就可能触发滑块,有一定时效性),这里加不加点击都会需要验证了,因为淘宝已经认为你是一个机器操作了。可以换个新的账号试试,如果第一次登录就需要拖动滑块,那应该是淘宝修改了判断页面的策略。
p1094358629
2018-05-10 17:18:54 +08:00
@tingyunsay 我这里的情况是:先输入用户名,再输入密码的时候,跳出滑块的。但是如果是我新开一个页面全程手动输入,则不触发滑块。所以初步的结论就是淘宝对页面已经做了些机器人的判断
tingyunsay
2018-05-11 10:28:31 +08:00
@p1094358629 有空我也再测测我那代码现在还能不能用 ╥﹏╥... 可以试着打开一个登录页面,不动鼠标,一直用 tab 键切换输入账号密码,会不会出现滑块。感觉这个东西还是不能取巧呀,最好用模型生成一个滑动的轨迹图暴力通过,但那个东西涉及到更多的东西,暂时没时间去学....我是个假的程序员 ╮(╯_╰)╭
VVTA
2019-08-16 15:55:04 +08:00
driver.exe 里面个字符串需要修改下

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

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

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

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

© 2021 V2EX