成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

基于PHP實現(xiàn)短信驗證碼發(fā)送次數(shù)限制

瀏覽:168日期:2022-09-09 16:25:14

對用戶獲取短信驗證碼的手機號、ip、和瀏覽器(使用唯一標(biāo)識)進行限制。本文介紹的方法是對用戶每天只能通過同一瀏覽器或同一ip地址獲取驗證碼10次或者同一手機號只能獲取3次短信驗證碼,三種限制為“或”關(guān)系,一條超限就不發(fā)驗證碼。方法是通過在服務(wù)器端將用戶的手機號、ip、ur_r記錄并寫入文件,再通過讀取文件記錄判斷用戶請求發(fā)送驗證碼的次數(shù)來做限制。方法如下:

獲取短信驗證碼頁面:

<!DOCTYPE html><html><head></head><body><!-- 隱藏表單uv_r標(biāo)識,用于對獲取驗證碼的瀏覽器進行限制,唯一標(biāo)識存儲于瀏覽器cookie中。在用戶進行獲取短信驗證碼操作時將標(biāo)識傳入后臺代碼(可以通過js傳入后臺,此處未提供js代碼) --><input type='hidden' name='uv_r' value='' id='uv_r'></body><script type=”text/javascript”>/*使用js獲取cookie中ur_r唯一標(biāo)識,如果不存在,生成唯一標(biāo)識,js寫入cookie,并將唯一標(biāo)識賦給隱藏表單。*/ //唯一標(biāo)識存入cookie var _uuid = getUUID(); if(getCookie('_UUID_UV')!=null && getCookie('_UUID_UV')!=undefined) { _uuid = getCookie('_UUID_UV'); }else{ setCookie('_UUID_UV',_uuid); } document.getElementById('uv_r').value = _uuid;//賦給hidden表單 //生成唯一標(biāo)識 function getUUID() { var uuid = new Date().getTime(); var randomNum =parseInt(Math.random()*1000); return uuid+randomNum.toString(); } //寫cookie function setCookie(name,value) { var Days = 365;//這里設(shè)置cookie存在時間為一年 var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + '='+ escape (value) + ';expires=' + exp.toGMTString(); } //獲取cookie function getCookie(name) { var arr,reg=new RegExp('(^| )'+name+'=([^;]*)(;|$)'); if(arr=document.cookie.match(reg))return unescape(arr[2]); elsereturn null; }</script></html>

后端PHP處理代碼:

<?phpClass regMod{//定義全局變量,用于設(shè)置記錄文件的路徑Protected $Root = null;Public function __construct(){$this -> Root = APP_PATH.'/data/msg_logs/';//自己定義的文件存放位置}//獲取短信驗證碼操作(Ajax方法為好)Public function get_authentication_code(){if ($_POST[’uv_r’] && $_POST[’tel’]) {$ip=$_SERVER['REMOTE_ADDR'];//ip $tel = $_POST[’tel’];//電話 $uv_r = $_POST[’uv_r’];//ur_r標(biāo)識 if(empty($uv_r)){ $uv_r = 0; }} //判斷數(shù)據(jù)是否超過了限制$uvr_num = $this->checkUvr($uv_r);$tel_num = $this->checkTel($tel);$ip_num = $this->checkIp($ip);if ($uvr_num < 10 && $tel_num < 4 && $ip_num < 10) {Echo '發(fā)送驗證碼';//符合發(fā)送條件,發(fā)送驗證碼的操作} else {Echo “不發(fā)送驗證碼”;//當(dāng)不發(fā)送驗證碼時,將數(shù)據(jù)存入文件,用于方便查詢$data = $tel . '|' . $ip . '|' . $uv_r . '|'; if ($uv_r>0 && $uvr_num >= 10) { $data = $data . 'A@'; } if ($tel_num >= 4) { $data = $data . 'B@'; } if ($ip_num >= 10) { $data = $data . 'C@'; } $this->wirteFile('', $data); $this->ajax_return(0, '您今日獲取短信驗證碼的次數(shù)過多!');//給用戶返回信息,ajax_return()為自寫方法(未提供) }}//以下方法為私有方法//檢測ur_r在文件中出現(xiàn)的次數(shù)Private function checkUvr($data){ $fileName = 'Uv_'.date('Ymd',time()).'.dat'; $filePath = ($this -> Root).$fileName;//組裝要寫入的文件的路徑 $c_sum = 0; if(file_exists($filePath)){//文件存在獲取次數(shù)并將此次請求的數(shù)據(jù)寫入 $arr=file_get_contents($filePath); $row=explode('|',$arr); $countArr=array_count_values($row); $c_sum = $countArr[$data]; if($c_sum<10) { $this -> wirteFile($filePath,$data.'|'); } return $c_sum; }else{//文件不存在創(chuàng)建文件并寫入本次數(shù)據(jù),返回次數(shù)0 $this -> wirteFile($filePath,$data.'|'); return $c_sum; }}//檢測Tel在文件中出現(xiàn)的次數(shù)Private function checkTel($data){ $fileName = 'Tel_'.date('Ymd',time()).'.dat'; $filePath = ($this -> Root).$fileName; $c_sum = 0; if(file_exists($filePath)){ $arr=file_get_contents($filePath); $row=explode('|',$arr); $countArr=array_count_values($row); $c_sum = $countArr[$data]; if($c_sum<4) { $this -> wirteFile($filePath,$data.'|'); } return $c_sum; }else{ $this -> wirteFile($filePath,$data.'|'); return $c_sum; }}//檢測IP在文件中存在的次數(shù)Private function checkIp($data){ $fileName = 'Ip_'.date('Ymd',time()).'.dat'; $filePath = ($this -> Root).$fileName; $c_sum = 0; if(file_exists($filePath)){ $arr=file_get_contents($filePath); $row=explode('|',$arr); $countArr=array_count_values($row); $c_sum = $countArr[$data]; if($c_sum<10) { $this -> wirteFile($filePath,$data.'|'); } return $c_sum; }else{ $this -> wirteFile($filePath,$data.'|'); return $c_sum; }}/*** 將數(shù)據(jù)寫入本地文件* @param $filePath 要寫入文件的路徑* @param $data 寫入的數(shù)據(jù)*/Private function wirteFile($filePath,$data){try { if(!is_dir($this->Root)){//判斷文件所在目錄是否存在,不存在就創(chuàng)建 mkdir($this->Root, 0777, true); } if($filePath==''){//此處是不發(fā)送驗證碼時,記錄日志創(chuàng)建的文件 $filePath = ($this -> Root).'N'.date('Ymd',time()).'.dat'; }//寫入文件操作 $fp=fopen($filePath,'a+');//得到指針 fwrite($fp,$data);//寫 fclose($fp);//關(guān)閉 } catch (Exception $e) { print $e->getMessage(); }}}?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: PHP
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲一区二区三区免费观看| 国产福利91精品| 日本不卡视频一二三区| 狠狠干综合网| 久久精品人人做| 国产成人免费视| 色猫猫国产区一区二在线视频| 亚洲精品欧美二区三区中文字幕| 成人av在线一区二区三区| 欧美日韩黄色影视| 三级不卡在线观看| 国产精品乱子乱xxxx| 亚洲欧美色图小说| 亚洲高清资源| 亚洲欧美视频一区| 伊人成人在线视频| 国产精品入口麻豆九色| 91视频在线观看免费| 精品国产伦一区二区三区免费| 国产激情偷乱视频一区二区三区| 欧美精品123区| 国产自产视频一区二区三区| 欧美日韩久久久久久| 美女视频黄频大全不卡视频在线播放| 亚洲在线播放电影| 亚洲午夜一区二区| 国产农村妇女精品一区二区| 一区二区三区在线视频免费观看| 亚洲国产精品久久久久久女王 | 国产一区免费视频| 欧美激情一区二区三区全黄| 欧美午夜视频在线| 亚洲欧洲成人精品av97| 国语对白精品一区二区| 综合分类小说区另类春色亚洲小说欧美| 国产精品二区在线观看| 中文字幕 久热精品 视频在线| 欧美区国产区| 亚洲日本免费电影| 国产精品久久久对白| 亚洲成av人片在线| 色婷婷国产精品| 国模无码大尺度一区二区三区| 91精品在线免费观看| 国产激情91久久精品导航| 欧美变态tickling挠脚心| 97久久超碰精品国产| 国产亚洲欧洲一区高清在线观看| 欧美高清不卡| 一区二区三区电影在线播| 久久久久成人精品免费播放动漫| 免费亚洲电影在线| 日韩一区二区免费在线观看| 99re这里只有精品首页| 国产精品国产自产拍在线| 一本一本久久| 日韩中文字幕亚洲一区二区va在线| 欧美影视一区在线| 国产精品一线二线三线精华| 久久久九九九九| 1024成人| 日本亚洲电影天堂| 欧美一区二区视频在线观看2020| av资源站一区| 亚洲欧洲精品成人久久奇米网| 免费日韩av片| 国产成人综合在线观看| 中文字幕第一区| 久久久夜精品| 成人h动漫精品| 亚洲色图欧美激情| 在线日韩国产精品| jlzzjlzz欧美大全| 亚洲视频免费在线观看| 色欧美88888久久久久久影院| 成熟亚洲日本毛茸茸凸凹| 国产精品全国免费观看高清 | 亚洲三级毛片| 久久爱另类一区二区小说| 久久综合网色—综合色88| 亚洲人久久久| 国产做a爰片久久毛片| 精品第一国产综合精品aⅴ| 亚洲国产二区| 看片的网站亚洲| 国产女人18水真多18精品一级做| 国产精品一级| 国产精品白丝jk黑袜喷水| 中文av一区特黄| 91黄色免费版| 99久久精品99国产精品| 亚洲一本大道在线| 日韩欧美综合在线| 9色精品在线| 国产v日产∨综合v精品视频| 亚洲综合在线视频| 日韩欧美激情四射| 国产视频精品网| 国产一区二区三区高清播放| 国产精品网站一区| 欧美色涩在线第一页| 欧美日产一区二区三区在线观看| 亚洲成人黄色小说| 精品国产百合女同互慰| 免费在线日韩av| 99精品国产热久久91蜜凸| 亚洲伊人色欲综合网| 8x8x8国产精品| 亚洲美女毛片| 成人av在线播放网址| 亚洲一区二区在线免费观看视频 | 亚洲一区二区三区四区在线观看| 欧美mv日韩mv亚洲| 小嫩嫩精品导航| 91老司机福利 在线| 麻豆精品一区二区综合av| 中文字幕一区二| 日韩三级av在线播放| 久久国产99| 国内一区二区三区| 国产成人免费视频网站高清观看视频| 亚洲国产成人精品视频| 国产午夜精品一区二区| 欧美久久久久久久久久| 国产午夜精品在线| 午夜国产精品视频| 国产精品亚洲午夜一区二区三区 | 久久精品欧美一区二区三区不卡| 欧美日韩第一区日日骚| 伊人蜜桃色噜噜激情综合| 国精产品一区一区三区mba桃花 | 亚洲成人777| 国产精品三级久久久久三级| 日韩一区二区在线免费观看| 久久激情久久| 在线成人国产| 成人高清av在线| 久久精品国产精品亚洲综合| 一区二区三区精品久久久| 日本一区二区三区免费乱视频| 337p亚洲精品色噜噜| 老牛影视一区二区三区| 一本久道久久久| 欧美a级一区| 成人免费视频一区二区| 麻豆成人在线观看| 亚洲电影一区二区三区| 18成人在线观看| 国产日韩成人精品| 日韩一级二级三级| 在线免费观看成人短视频| 国产欧美高清| 欧美视频不卡| 91色|porny| 不卡高清视频专区| 国产精品888| 久久 天天综合| 男人的天堂久久精品| 亚洲国产精品天堂| 亚洲日本在线天堂| 国产精品人成在线观看免费 | 国产精品视频观看| 2020国产精品自拍| 欧美日韩国产免费| 麻豆亚洲精品| 中国成人在线视频| 99re热精品| 亚洲欧洲精品一区二区| 欧美日韩一区二区视频在线观看| 99久久精品国产精品久久| www.欧美日韩| 丰满少妇在线播放bd日韩电影| 狠狠色狠狠色综合系列| 日韩成人一级片| 午夜av电影一区| 首页欧美精品中文字幕| 午夜欧美电影在线观看| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品免费播放| 亚洲天堂成人在线观看| 亚洲天堂福利av| 依依成人综合视频| 一区二区三区美女视频| 亚洲一区二区欧美激情| 亚洲综合免费观看高清在线观看| 亚洲欧美韩国综合色| 成人欧美一区二区三区白人 | 欧美丰满美乳xxx高潮www| 911精品产国品一二三产区 | 一区二区三区在线不卡| 亚洲综合免费观看高清完整版| 一区二区三区在线免费播放| 亚洲地区一二三色| 日韩激情视频网站| 麻豆一区二区三| 国产老妇另类xxxxx| 成人免费视频视频在线观看免费| 波多野结衣一区二区三区 | 欧美日韩国产综合草草| 欧美猛男超大videosgay|