电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

php+js實(shí)現(xiàn)的拖動(dòng)滑塊驗(yàn)證碼驗(yàn)證表單操作示例【附源碼下載】

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

本文實(shí)例講述了php+js實(shí)現(xiàn)的拖動(dòng)滑塊驗(yàn)證碼驗(yàn)證表單操作。分享給大家供大家參考,具體如下:

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

極驗(yàn)拖動(dòng)動(dòng)畫圖

php+js實(shí)現(xiàn)的拖動(dòng)滑塊驗(yàn)證碼驗(yàn)證表單操作示例【附源碼下載】

代碼文件截圖

php+js實(shí)現(xiàn)的拖動(dòng)滑塊驗(yàn)證碼驗(yàn)證表單操作示例【附源碼下載】

代碼實(shí)現(xiàn)

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>極驗(yàn)滑塊拖動(dòng)驗(yàn)證碼-碼農(nóng)社區(qū)-web視頻分享網(wǎng)</title> <script type='text/javascript' src='http://www.hdgsjgj.cn/bcjs/tn_code.js?v=35'></script> <link rel='stylesheet' type='text/css' href='http://www.hdgsjgj.cn/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(){//驗(yàn)證通過(guò)});</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; //容錯(cuò)象素 越大體驗(yàn)越好,越小破解難道越高 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){//錯(cuò)誤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’)){//優(yōu)先webp格式,超高壓縮率 $type = ’webp’; $quality = 40;//圖片質(zhì)量 0-100 }else{ $type = ’png’; $quality = 7;//圖片質(zhì)量 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); }}?>

附:完整實(shí)例代碼點(diǎn)擊此處本站下載

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 广州物流公司_广州货运公司_广州回程车运输 - 万信物流 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 必胜高考网_全国高考备考和志愿填报信息平台 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 协议书_协议合同格式模板范本大全| 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 螺杆泵_中成泵业| 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 专业音响设备_舞台音响设备_会议音响工程-首选深圳一禾科技 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 洁净棚-洁净工作棚-无菌室-净化工程公司_北京卫护科技有限公司 | 氢氧化钾厂家直销批发-济南金昊化工有限公司 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 我爱古诗词_古诗词名句赏析学习平台 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 |