php+js实现极验滑块拖动验证码-tncode
先上图:

演示地址:http://aso.39gs.com/tncode/index.html
相信在淘宝,斗鱼这些大网站都见到过这样的验证码了,拖动验证码比传统在移动端有更好的化验,减少用户的输入。
极验验证码:第三方收费拖动验证码,斗鱼,熊猫直播等很多网站都使用了这家的验证码。
这种通过第三方来实现的方式对一个程序来说,总觉得很不好。于是我就想做用php+js来做一个同样的功能,名字就叫tncode吧,39验证码,哈哈!
实现的主要技术:
1、php抠图
2、js canvas画图
3、破解干扰
4、使用webp图片格式
代码下载
地址一:https://github.com/binwind8/tncode
地址二:http://aso.39gs.com/tncode/tncode.rar
有网友反馈本地安装无法显示图片,可能是网友本地环境打开错误日志报告,处理方法:
一、把tncode.php中error_reporting(7) 改在 error_reporting(0);
二、如果上面方法没用,请按以下操作:
- 请打开php错误报告,在TnCode.class.php添加 ,error_reporting(7) ;
- 把然后把TnCode.class.php中header(‘Content-Type: image/png’); 注释
- 在浏览器中打开 http://xxxx/xxxx/tncode.php,会显示出错误报告
- 请把报告留言给我,谢谢!
php+js实现极验滑块拖动验证码-tncode的更多相关文章
- php+js实现极验,拖动滑块验证码验证表单
现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错误,也同样能起到防盗刷的功能.现在很多极验都是第三方的,也很多都是收费的.今天在 ...
- 【原创】Python 极验滑块验证
本文仅供学习交流使用,如侵立删! 记一次 极验滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.seleniumwire 分析 最近在做的一个项目登录时会触发 ...
- Django中使用极验Geetest滑动验证码
一,环境部署 1.创建一个django测试项目 此处省略... 二,文档部署 1.下载安装python对应的SDK 使用命令从Github导入完整项目:git clone https://github ...
- 对极验geetest滑块验证码图片还原算法的研究
免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者 ...
- vue_drf之实现极验滑动验证码
一.需求 1,场景 我们在很多登录和注册场景里,为了避免某些恶意攻击程序,我们会添加一些验证码,也就是行为验证,让我们相信现在是一个人在交互,而不是一段爬虫程序.现在市面上用的比较多的,比较流行的是极 ...
- python3 破解 geetest(极验)的滑块验证码
Kernel_wu 快速学习的实践者 python3 破解 geetest(极验)的滑块验证码 from selenium import webdriver from selenium.webdriv ...
- 爬虫进阶教程:极验(GEETEST)验证码破解教程
摘要 爬虫最大的敌人之一是什么?没错,验证码!Geetest作为提供验证码服务的行家,市场占有率还是蛮高的.遇到Geetest提供的滑动验证码怎么破?授人予鱼不如授人予渔,接下来就为大家呈现本教程的精 ...
- selenium+java破解极验滑动验证码
摘要 分析验证码素材图片混淆原理,并采用selenium模拟人拖动滑块过程,进而破解验证码. 人工验证的过程 打开威锋网注册页面(https://passport.feng.com/?r=user/r ...
- selenium+java破解极验滑动验证码的示例代码
转自: https://www.jianshu.com/p/1466f1ba3275 selenium+java破解极验滑动验证码 卧颜沉默 关注 2017.08.15 20:07* 字数 3085 ...
随机推荐
- 小程序 js 判断 字符串 为空 null
判断字符串是否为空 1 2 3 4 5 var strings = ''; if (string.length == 0) { alert('不能为空'); } 判断字符串是否为“空”字符即用户输入了 ...
- JVM调优(四)——tomcat远程debug
JVM调优(四)--tomcat远程debug tomcat远程debug jdwp协议 使用步骤 登录远程服务器,进入tomcat目录,并打开文件: //tomcat/bin/startup.sh ...
- 《单词的减法》state1~state17(第二遍学习记录)
单词的减法(二) 2016.05.18.2016.05.21 state 1 advisory 顾问的,劝告的 anticipate/participate 期望/参加 state 2 applian ...
- 嵌入式C语言4.1 C语言内存空间的使用-指针
指针:就是内存资源的地址.门牌号的代名词 假如你所在的城市是一个内存(存储器),如果找到你家,就是通过你的家庭住址(指针)寻找,而你家里的摆设面积之类的就是内存的内容(指针指向的内容). 指针变量:存 ...
- Get column value of Flex Datagrid by QTP
' get the number of rows in the tablerowCount=Browser("Browser").FlexApplication("App ...
- es6 Promise.reject()方法
es6 Promise.reject()方法:https://blog.csdn.net/ixygj197875/article/details/79188195
- 分布式ID的雪花算法及坑
分布式ID生成是目前系统的常见刚需,其中以Twitter的雪花算法(Snowflake)比较知名,有Java等各种语言的版本及各种改进版本,能生成满足分布式ID,返回ID为Long长整数 但是这里有一 ...
- vscode 常用命令行
Ctrl+Shift+P: 打开命令面板 打开一个新窗口: Ctrl+Shift+N 关闭窗口: Ctrl+Shift+W 新建文件 Ctrl+N 代码行缩进 Ctrl+[ . Ctrl+] 上下 ...
- Cas 使用maven的overlay搭建开发环境 (二)
关于cas-server的安装.部署网上教程很多.但是使用Cas,只通过部署时修改配置是无法满足产品需求的,因此需要我们改造Cas.本文讲解如何使用maven的overlay无侵入的改造Cas. 什么 ...
- Java 编程技巧之数据结构
前言: 介绍几种常见的java数据结构及应用. 使用HashSet判断主键是否存在 HashSet 实现 Set 接口,由哈希表(实际上是 HashMap )实现,但不保证 set 的迭代顺序,并允 ...