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

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

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

瀏覽:204日期: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://www.b3g6.com/bcjs/tn_code.js?v=35'></script> <link rel='stylesheet' type='text/css' href='http://www.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久久,三上悠亚国产精品一区二区三区
综合在线一区| 久久国产生活片100| 日韩av二区在线播放| 久久久人人人| 丰满少妇一区| 亚洲色图综合| 最新国产拍偷乱拍精品| 亚洲人成在线网站| 91日韩欧美| 国产亚洲一区二区三区啪| 手机精品视频在线观看| 久久精品av| 色婷婷精品视频| 成人精品高清在线视频| 欧美1区二区| 国产免费播放一区二区| 日欧美一区二区| 日本国产欧美| 黄色欧美日韩| 在线看片国产福利你懂的| 欧美亚洲色图校园春色| 亚洲精一区二区三区| 国产精品日本| 在线亚洲激情| 欧美日韩国产精品一区二区亚洲| 成人在线网站| 日韩精品一区二区三区免费观看| 日韩亚洲一区在线| 超碰在线99| 亚洲最新无码中文字幕久久| 中文字幕色婷婷在线视频| 日韩国产专区| 亚洲手机视频| 久久久久蜜桃| 久久精品国产福利| 国产探花在线精品| 国产乱人伦丫前精品视频 | 青青草国产成人99久久| 蜜臀久久99精品久久久画质超高清 | 亚洲国产日韩欧美在线| 91精品亚洲| 精品91久久久久| 中文一区一区三区免费在线观| 日韩在线网址| 国产精品久久久久久久久久久久久久久 | 日本一二区不卡| 日韩免费高清| 亚洲一级黄色| 99视频精品| 男人操女人的视频在线观看欧美| 美女精品在线观看| 91精品丝袜国产高跟在线| 国产精品美女午夜爽爽| 精品三级在线观看视频| 久久天堂影院| 成人日韩在线| 视频一区二区三区入口| 日韩和欧美的一区| 久久久亚洲欧洲日产| 国产精品精品国产一区二区| 日本一区二区免费高清| 亚洲精品电影| 日韩超碰人人爽人人做人人添| 国产精品v一区二区三区| 久久精品女人| 日韩一区三区| 日韩一区精品视频| 蜜桃精品视频| 国产国产精品| 91福利精品在线观看| 高清不卡亚洲| 老牛国产精品一区的观看方式| 欧美一级二级三级视频| 国产精品99一区二区三| 国产精品婷婷| 青青国产精品| 98精品久久久久久久| 精品欧美久久| 欧美视频久久| 亚洲不卡av不卡一区二区| 视频一区中文字幕精品| 国产福利电影在线播放| 亚洲欧美日韩国产综合精品二区 | 激情欧美日韩一区| 欧美日韩va| 久久免费大视频| 国产亚洲一区二区三区不卡| 精品日本视频| 婷婷六月综合| 欧美成a人片免费观看久久五月天| 国产精品88久久久久久| 国产精品1区在线| 国产精品日韩久久久| 精品淫伦v久久水蜜桃| 国产精品日韩| 国产不卡一区| 综合一区二区三区| а√天堂8资源中文在线| 亚洲精品伊人| 亚洲网站视频| 国产一区三区在线播放| 亚洲精品成人一区| 狠狠久久伊人| 日韩精品一卡| 国产精品亚洲综合在线观看| 不卡一区综合视频| 精品免费视频| 日韩精品电影一区亚洲| 欧美午夜不卡影院在线观看完整版免费| 天堂中文av在线资源库| 综合激情视频| 在线精品亚洲| 欧美~级网站不卡| 国产精品亚洲综合在线观看| 狠狠久久婷婷| 婷婷综合六月| 老司机精品视频在线播放| 久久三级视频| 色综合狠狠操| 国产精东传媒成人av电影| 亚洲资源在线| 99在线精品免费视频九九视| 欧美国产美女| 国产高清精品二区| 色8久久久久| 午夜在线视频一区二区区别| 中文在线а√天堂| 精品午夜av| 亚洲丝袜美腿一区| 中文字幕人成乱码在线观看| 久久国内精品自在自线400部| 欧美专区一区二区三区| 久久在线电影| 精品一区二区三区在线观看视频| 日韩精品视频在线看| 国产一级久久| 亚洲韩日在线| 成人久久久久| 日韩美女一区二区三区在线观看| 欧美aⅴ一区二区三区视频| 日韩精品一页| 石原莉奈在线亚洲三区| 色黄视频在线观看| 久久av资源| 免费看久久久| 国内不卡的一区二区三区中文字幕| 国产精品久久久久av蜜臀 | 免费成人在线视频观看| 国产亚洲午夜| 99re国产精品| 亚洲综合另类| 亚洲欧美日韩在线观看a三区| 91精品电影| 一本色道精品久久一区二区三区| 欧美91福利在线观看| 久久久久久久久丰满| 久久精品亚洲欧美日韩精品中文字幕| 亚洲风情在线资源| 免费视频亚洲| 日韩综合一区二区三区| 久久av影院| 日韩在线高清| 亚洲伊人精品酒店| 久久精品天堂| 免费观看不卡av| 91精品尤物| 日韩高清不卡| 亚洲18在线| 精品成av人一区二区三区| 欧洲激情综合| 国产亚洲电影| 久久国产成人午夜av影院宅| 在线精品国产亚洲| 国产一区二区三区视频在线| 国产亚洲在线观看| 国产调教一区二区三区| 91视频一区| 中文精品电影| 98精品视频| 综合国产在线| 日韩精品中文字幕第1页| 快she精品国产999| 国产精品videossex久久发布 | 最近高清中文在线字幕在线观看1| 国产毛片久久| 国产一区二区精品久| 伊人国产精品| 午夜精品久久久久久久久久蜜桃| 蜜臀久久99精品久久久久宅男| 日韩av自拍| 麻豆成人在线| 麻豆mv在线观看| 亚洲精品高潮| 日韩不卡视频在线观看| 欧美一区精品| 国产精品av久久久久久麻豆网| 欧美日本不卡高清| 亚洲激情二区| 亚洲永久av| 国产欧美日韩综合一区在线播放|