日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

php+js實現的拖動滑塊驗證碼驗證表單操作示例【附源碼下載】

瀏覽:206日期:2022-09-10 10:56:06

本文實例講述了php+js實現的拖動滑塊驗證碼驗證表單操作。分享給大家供大家參考,具體如下:

現在很多網站,比如淘寶,京東等都改用使用極驗拖動驗證碼實現登錄,這種方式比傳統的驗證碼方式有更好的體驗,減少用戶輸入的錯誤,也同樣能起到防盜刷的功能。現在很多極驗都是第三方的,也很多都是收費的。今天在這里給大家分享自己用原生php實現的一個極驗的代碼。用原生php的好處就是以后你要嵌套到什么框架,可以直接用核心代碼,改一改就好了。

極驗拖動動畫圖

php+js實現的拖動滑塊驗證碼驗證表單操作示例【附源碼下載】

代碼文件截圖

php+js實現的拖動滑塊驗證碼驗證表單操作示例【附源碼下載】

代碼實現

html文件

<!DOCTYPE html><html lang=''><head> <meta charset='utf-8'> <meta http-equiv='x-ua-compatible' content='ie=edge'> <meta name='viewport' content='width=device-width, initial-scale=1'> <title>極驗滑塊拖動驗證碼-碼農社區-web視頻分享網</title> <script type='text/javascript' src='http://m.b3g6.com/bcjs/tn_code.js?v=35'></script> <link rel='stylesheet' type='text/css' href='http://m.b3g6.com/bcjs/style.css?v=27' rel='external nofollow' /><style type='text/css'></style></head><body style='text-align:center;'><div style='text-align: center;margin: 100px auto;'></div><script type='text/javascript'>$TN.onsuccess(function(){//驗證通過});</script>

php文件:check.php

<?phprequire_once dirname(__FILE__).’/TnCode.class.php’;$tn = new TnCode();if($tn->check()){ $_SESSION[’tncode_check’] = ’ok’; echo 'ok';}else{ $_SESSION[’tncode_check’] = ’error’; echo 'error';}?>

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

<?phpclass TnCode{ 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(); } } function make(){ $this->_init(); $this->_createSlide(); $this->_createBg(); $this->_merge(); $this->_imgout(); $this->_destroy(); } function check($offset=’’){ if(!$_SESSION[’tncode_r’]){ return false; } 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; } private function _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); } private function _destroy(){ imagedestroy($this->im); imagedestroy($this->im_fullbg); imagedestroy($this->im_bg); imagedestroy($this->im_slide); } private function _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); } private function _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 } private function _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); } private function _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相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數學運算技巧總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲福利一区| 99久久夜色精品国产亚洲1000部| 四虎4545www国产精品 | 精品一区二区三区中文字幕| 午夜日本精品| 激情综合网五月| 精品一区三区| 亚洲激情中文| 男女性色大片免费观看一区二区| 一区免费视频| 亚洲欧美日韩国产| 美女精品在线观看| 中文字幕一区二区精品区| 在线精品观看| 亚州av一区| 国产午夜久久av| 国产精品久久久亚洲一区| 国产精品成人3p一区二区三区| 欧美精品国产一区| 亚洲欧美日本国产| 日本aⅴ精品一区二区三区| 日本少妇一区二区| 国产精品片aa在线观看| 老司机免费视频一区二区| 久久精品欧洲| 日韩欧美国产精品综合嫩v| 中文另类视频| 女主播福利一区| 亚洲另类视频| 国产精品日本一区二区三区在线| 久久精品系列| 久久国产欧美| 亚洲在线免费| 日韩黄色在线观看| 国产欧美日韩综合一区在线播放| 美女视频网站久久| 啪啪国产精品| 久久www成人_看片免费不卡| 日本不卡视频在线| 久久xxx视频| 蜜臀国产一区| 国产亚洲毛片| 国产毛片精品| 中文av在线全新| 夜夜嗨av一区二区三区网站四季av| 综合亚洲色图| 国产一区二区三区探花| 婷婷六月综合| 国产美女精品视频免费播放软件| 精品午夜久久| 欧美va天堂在线| 亚洲va久久久噜噜噜久久| 欧美国产中文高清| 欧美日韩一区二区三区视频播放| 免费人成网站在线观看欧美高清| 国产精品乱战久久久| 久久精品一区二区不卡| 日韩中文字幕在线一区| sm久久捆绑调教精品一区| 国产精品免费看| 精品一区二区三区视频在线播放 | re久久精品视频| 日本中文字幕视频一区| 国产精品伦理久久久久久| 视频在线观看91| caoporn视频在线| 91嫩草精品| 激情久久久久久| 欧美精品导航| 亚洲专区视频| 亚洲二区免费| 另类综合日韩欧美亚洲| 蜜臀av性久久久久蜜臀aⅴ流畅| 免费看久久久| 激情综合亚洲| 国产精品色婷婷在线观看| 精品一区在线| 日本aⅴ免费视频一区二区三区| 欧美成a人免费观看久久| 在线国产精品一区| 狠狠久久伊人| 国产亚洲在线| 久久香蕉精品香蕉| 亚洲一级在线| 国产一区二区视频在线看| 亚洲一区二区三区高清不卡| 亚洲精品亚洲人成在线观看| 久久蜜桃精品| 国产欧美日韩精品一区二区免费| 欧美日韩一区二区三区视频播放| 日韩不卡手机在线v区| 中文字幕高清在线播放| 另类av一区二区| 国产在线不卡一区二区三区| 性色一区二区| 色爱综合网欧美| 水野朝阳av一区二区三区| 日韩综合精品| 久久国产人妖系列| 欧美精品一区二区三区精品| 国产免费av一区二区三区| 欧美美女一区| 欧美精品97| 在线精品视频一区| 一本大道色婷婷在线| 久久精品av麻豆的观看方式| 婷婷综合五月| 精品国产午夜肉伦伦影院| 国产精品日韩久久久| 日本成人一区二区| 9色国产精品| 特黄特色欧美大片| 久久影院一区二区三区| 日韩中文字幕亚洲一区二区va在线 | 欧美精选视频一区二区| 97成人超碰| 亚洲中午字幕| 久久久久久久久久久妇女| 国产精品一区二区三区www| 99久久久国产精品美女| 久久一区视频| 日韩午夜在线| 高清av不卡| 麻豆一区二区三区| 日本不卡视频一二三区| 天堂成人国产精品一区| 久久亚洲专区| 精品72久久久久中文字幕| 亚洲精品一级| 亚洲精品乱码久久久久久蜜桃麻豆| 久久影视一区| 在线手机中文字幕| 精品国产18久久久久久二百| 国产日韩欧美三区| 亚洲在线网站| 日韩一级不卡| 婷婷亚洲五月色综合| 欧美成a人免费观看久久| 伊人久久视频| 欧美黄色一区二区| 91福利精品在线观看| 一区二区国产在线| 久久午夜视频| 模特精品在线| 在线亚洲国产精品网站| 欧美一级专区| 久久亚洲影院| 丝袜国产日韩另类美女| 99亚洲视频| 欧美日韩高清| 国产一区久久| 欧美亚洲在线日韩| 久热re这里精品视频在线6| 伊人久久婷婷| 国产精品普通话对白| 久久午夜精品一区二区| 亚洲影院天堂中文av色| 蜜臀精品一区二区三区在线观看 | 天海翼精品一区二区三区| 亚洲欧美久久| 日韩国产在线一| 日韩精品欧美大片| 欧美一区自拍| 欧美国产专区| 欧美国产美女| 久久婷婷久久| 夜夜嗨一区二区| 国精品一区二区| 亚洲视频电影在线| 日本va欧美va精品发布| 日韩精品欧美精品| 国产探花一区在线观看| 国产精品入口久久| 日本激情一区| 91精品国产调教在线观看 | 欧美1区免费| 亚洲欧美日韩专区| 日韩一区二区三区四区五区| 国产精品一区三区在线观看| 老司机精品在线| 麻豆精品蜜桃| 亚洲欧美日韩国产| 奇米777国产一区国产二区| 欧美亚洲色图校园春色| 精品一区二区三区的国产在线观看 | 欧美日一区二区在线观看| 国产亚洲观看| 久久激情中文| 久久午夜精品一区二区| 青青草91视频| 在线手机中文字幕| 在线一区电影| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩xxxx| 丝袜美腿一区| 亚洲精选91| 欧美激情视频一区二区三区免费| 亚洲精品网址| 国产亚洲人成a在线v网站 | 国产毛片精品|