广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何使用php+js实现极验,拖动滑块验证码验证表单
  • 284
分享到

如何使用php+js实现极验,拖动滑块验证码验证表单

2024-04-02 19:04:59 284人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何使用PHP+js实现极验,拖动滑块验证码验证表单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码实现   html文件   <!

这篇文章给大家分享的是有关如何使用PHP+js实现极验,拖动滑块验证码验证表单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  代码实现

  html文件

  <!DOCTYPEhtml>

  <htmllang="">

  <head>

  <metacharset="utf-8">

  <metaHttp-equiv="x-ua-compatible"content="ie=edge">

  <metaname="viewport"content="width=device-width,initial-scale=1">

  <title>极验滑块拖动验证码-码农社区-WEB视频分享网</title>

  <scripttype="text/javascript"src="tn_code.js?v=35"></script>

  <linkrel="stylesheet"type="text/CSS"href="style.css?v=27"/>

  <styletype="text/css"></style>

  </head>

  <bodystyle="text-align:center;">

  <divclass="tncode"style="text-align:center;margin:100pxauto;"></div>

  <scripttype="text/javascript">

  $TN.onsuccess(function(){

  //验证通过

  });

  </script>

  php文件:check.php

  <?php

  require_oncedirname(__FILE__).'/TnCode.class.php';

  $tn=newTnCode();

  if($tn->check()){

  $_SESSION['tncode_check']='ok';

  echo"ok";

  }else{

  $_SESSION['tncode_check']='error';

  echo"error";

  }

  ?>

  主要核心文件:TnCode.class.php

  <?php

  classTnCode

  {

  var$im=null;

  var$im_fullbg=null;

  var$im_bg=null;

  var$im_slide=null;

  var$bg_width=240;

  var$bg_height=150;

  var$mark_width=50;

  var$mark_height=50;

  var$bg_num=6;

  var$_x=0;

  var$_y=0;

  //容错象素越大体验越好,越小破解难道越高

  var$_fault=3;

  function__construct(){

  //ini_set('display_errors','On');

  //

  error_reporting(0);

  if(!isset($_SESSION)){

  session_start();

  }

  }

  functionmake(){

  $this->_init();

  $this->_createSlide();

  $this->_createBg();

  $this->_merge();

  $this->_imGout();

  $this->_destroy();

  }

  functioncheck($offset=''){

  if(!$_SESSION['tncode_r']){

  returnfalse;

  }

  if(!$offset){

  $offset=$_REQUEST['tn_r'];

  }

  $ret=abs($_SESSION['tncode_r']-$offset)<=$this->_fault;

  if($ret){

  unset($_SESSION['tncode_r']);

  }else{

  $_SESSION['tncode_err']++;

  if($_SESSION['tncode_err']>10){//错误10次必须刷新

  unset($_SESSION['tncode_r']);

  }

  }

  return$ret;

  }

  privatefunction_init(){

  $bg=mt_rand(1,$this->bg_num);

  $file_bg=dirname(__FILE__).'/bg/'.$bg.'.png';

  $this->im_fullbg=imagecreatefrompng($file_bg);

  $this->im_bg=imagecreatetruecolor($this->bg_width,$this->bg_height);

  imagecopy($this->im_bg,$this->im_fullbg,0,0,0,0,$this->bg_width,$this->bg_height);

  $this->im_slide=imagecreatetruecolor($this->mark_width,$this->bg_height);

  $_SESSION['tncode_r']=$this->_x=mt_rand(50,$this->bg_width-$this->mark_width-1);

  $_SESSION['tncode_err']=0;

  $this->_y=mt_rand(0,$this->bg_height-$this->mark_height-1);

  }

  privatefunction_destroy(){

  imagedestroy($this->im);

  imagedestroy($this->im_fullbg);

  imagedestroy($this->im_bg);

  imagedestroy($this->im_slide);

  }

  privatefunction_imgout(){

  if(!$_GET['nowebp']&&function_exists('imagewebp')){//优先webp格式,超高压缩率

  $type='webp';

  $quality=40;//图片质量0-100

  }else{

  $type='png';

  $quality=7;//图片质量0-9

  }

  header('Content-Type:image/'.$type);

  $func="image".$type;

  $func($this->im,null,$quality);

  }

  privatefunction_merge(){

  $this->im=imagecreatetruecolor($this->bg_width,$this->bg_height*3);

  imagecopy($this->im,$this->im_bg,0,0,0,0,$this->bg_width,$this->bg_height);

  imagecopy($this->im,$this->im_slide,0,$this->bg_height,0,0,$this->mark_width,$this->bg_height);

  imagecopy($this->im,$this->im_fullbg,0,$this->bg_height*2,0,0,$this->bg_width,$this->bg_height);

  imagecolortransparent($this->im,0);//16777215

  }

  privatefunction_createBg(){

  $file_mark=dirname(__FILE__).'/img/mark.png';

  $im=imagecreatefrompng($file_mark);

  header('Content-Type:image/png');

  //imagealphablending($im,true);

  imagecolortransparent($im,0);//16777215

  //imagepng($im);exit;

  imagecopy($this->im_bg,$im,$this->_x,$this->_y,0,0,$this->mark_width,$this->mark_height);

  imagedestroy($im);

  }

  privatefunction_createSlide(){

  $file_mark=dirname(__FILE__).'/img/mark2.png';

  $img_mark=imagecreatefrompng($file_mark);

  imagecopy($this->im_slide,$this->im_fullbg,0,$this->_y,$this->_x,$this->_y,$this->mark_width,$this->mark_height);

  imagecopy($this->im_slide,$img_mark,0,$this->_y,0,0,$this->mark_width,$this->mark_height);

  imagecolortransparent($this->im_slide,0);//16777215

  //header('Content-Type:image/png');

  //imagepng($this->im_slide);exit;

  imagedestroy($img_mark);

  }

感谢各位的阅读!关于“如何使用php+js实现极验,拖动滑块验证码验证表单”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用php+js实现极验,拖动滑块验证码验证表单

本文链接: https://www.lsjlt.com/news/89809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用php+js实现极验,拖动滑块验证码验证表单
    这篇文章给大家分享的是有关如何使用php+js实现极验,拖动滑块验证码验证表单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码实现   html文件   <!...
    99+
    2022-10-19
  • JS实现拖动滑块验证
    使用这种验证方法的目的:证明当前的用户不是机器人~防止恶意操作。 实现思路: 1、获取silde滑块(获取元素) 2、为元素注册事件———鼠标点击...
    99+
    2022-11-13
  • JS 简单实现滑块验证码
    目录开篇:一、实现效果styleScript二、总结与思考开篇: 拖动底部滑块,实现滑块验证码功能 一、实现效果 style *{ margin: 0; padd...
    99+
    2023-05-14
    JS 滑块验证码 JS 验证码
  • 如何使用Python实现极验验证码识别验证码
    这篇“如何使用Python实现极验验证码识别验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Python实现极验...
    99+
    2023-07-05
  • 如何实现JS表单验证
    这篇文章主要介绍了如何实现JS表单验证,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先晒图index.html<!DOCTYPE&nb...
    99+
    2022-10-19
  • js canvas如何实现滑块验证功能
    本篇内容主要讲解“js canvas如何实现滑块验证功能 ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js canvas如何实现滑块验证功能 ”吧!滑块验证内容如下话不多说先上代码想用的小伙伴...
    99+
    2023-06-14
  • PHP如何实现滑块验证图片
    这篇文章主要讲解了“PHP如何实现滑块验证图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何实现滑块验证图片”吧!安装composer require kkok...
    99+
    2023-07-04
  • Java如何实现滑动验证码
    小编给大家分享一下Java如何实现滑动验证码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!功能:java实现滑动验证码项目是采用springboot,maven开发工具:采用idea1.效果演示2.后端代码控制层@Cont...
    99+
    2023-06-29
  • .NET如何实现滑动验证码
    本篇内容介绍了“.NET如何实现滑动验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CaptchaData.csCaptchaData....
    99+
    2023-07-04
  • js插件如何实现图片滑动验证码
    这篇文章将为大家详细讲解有关js插件如何实现图片滑动验证码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jquery.lgymove.js  (function...
    99+
    2022-10-19
  • 如何使用JavaScript实现滑块验证功能
    这篇文章将为大家详细讲解有关如何使用JavaScript实现滑块验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下<!DOCTYPE html><html&nb...
    99+
    2023-06-26
  • python如何实现腾讯滑块验证码识别
    小编给大家分享一下python如何实现腾讯滑块验证码识别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2...
    99+
    2023-06-14
  • Android 如何实现滑块拼图验证码功能
    本篇内容主要讲解“Android 如何实现滑块拼图验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android 如何实现滑块拼图验证码功能”吧!本篇主要从两方面进行介绍:使用依赖库实现...
    99+
    2023-06-14
  • 如何使用JavaScript实现表单验证
    本篇内容介绍了“如何使用JavaScript实现表单验证”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、...
    99+
    2022-10-19
  • 如何用JavaScript实现表单验证
    这篇“如何用JavaScript实现表单验证”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用JavaScript实现表单...
    99+
    2023-06-30
  • 怎么使用Vue插件实现滑动验证码
    这篇“怎么使用Vue插件实现滑动验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Vue插件实现滑动验证码”文章吧...
    99+
    2023-07-04
  • js如何使用正则表达式验证表单
    这篇文章给大家分享的是有关js如何使用正则表达式验证表单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:图(1)初始图图(2)填入信息校验代码如下:<!DOCTYPE...
    99+
    2022-10-19
  • js如何仿网易实现表单验证功能
    这篇文章主要介绍了js如何仿网易实现表单验证功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。来图镇楼!html代码:<!DOCTYP...
    99+
    2022-10-19
  • 怎么使用selenium+opencv实现滑块验证码的登陆
    本文小编为大家详细介绍“怎么使用selenium+opencv实现滑块验证码的登陆”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用selenium+opencv实现滑块验证码的登陆”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-07-06
  • 如何在AmazeUI中使用JS表单验证框架
    这期内容当中小编将会给大家带来有关如何在AmazeUI中使用JS表单验证框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、需求做一个内嵌到UTribe(一款Android App)的学生会活动报名系统...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作