日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php利用驗(yàn)證碼防止惡意注冊學(xué)習(xí)筆記

php利用驗(yàn)證碼防止惡意注冊學(xué)習(xí)筆記

來源:程序員人生   發(fā)布時(shí)間:2014-01-03 15:04:57 閱讀次數(shù):3089次

常用的防止惡意注冊就是利用驗(yàn)證碼來實(shí)現(xiàn)了,在用戶提交注冊信息時(shí)我隨機(jī)生成一個(gè)圖形驗(yàn)證碼,這樣只有人能識(shí)別了,當(dāng)然簡單的驗(yàn)證碼機(jī)器是機(jī)以識(shí)別的,所以復(fù)雜點(diǎn)的好。

今天我們來研究下PHP驗(yàn)證碼,我們通過簡單的數(shù)字驗(yàn)證碼來實(shí)現(xiàn),首先來寫一個(gè)生成驗(yàn)證碼的代碼:

  1. <?php 
  2. //隨機(jī)生成一個(gè)4位數(shù)的數(shù)字驗(yàn)證碼 
  3. $num=”";     for($i=0;$i<4;$i++){     $num .= rand(0,9);     } 
  4. //4位驗(yàn)證碼也可以用rand(1000,9999)直接生成 
  5. //將生成的驗(yàn)證碼寫入session,備驗(yàn)證頁面使用 
  6. Session_start();     $_SESSION["Checknum"] = $num
  7. //創(chuàng)建圖片,定義顏色值     Header(“Content-type: image/PNG”); 
  8. srand((double)microtime()*1000000); 
  9. $im = imagecreate(60,20); 
  10. $black = ImageColorAllocate($im, 0,0,0); 
  11. $gray = ImageColorAllocate($im, 200,200,200); 
  12. imagefill($im,0,0,$gray); 
  13. //隨機(jī)繪制兩條虛線,起干擾作用 
  14. $style = array($black$black$black$black$black$gray$gray$gray$gray$gray); 
  15. imagesetstyle($im$style); 
  16. $y1=rand(0,20);     $y2=rand(0,20);     $y3=rand(0,20);     $y4=rand(0,20); 
  17. imageline($im, 0, $y1, 60, $y3, IMG_COLOR_STYLED); 
  18. imageline($im, 0, $y2, 60, $y4, IMG_COLOR_STYLED) 
  19. //在畫布上隨機(jī)生成大量黑點(diǎn),起干擾作用; 
  20. for($i=0;$i<80;$i++)     { 
  21. imagesetpixel($im, rand(0,60), rand(0,20), $black);     } 
  22. //將四個(gè)數(shù)字隨機(jī)顯示在畫布上,字符的水平間距和位置都按一定波動(dòng)范圍隨機(jī)生成 
  23. $strx=rand(3,8); 
  24. for($i=0;$i<4;$i++){ 
  25. $strpos=rand(1,6);     imagestring($im,5,$strx,$strpossubstr($num,$i,1), $black);     $strx+=rand(8,12); 
  26. ImagePNG($im);     ImageDestroy($im); 
  27. ?> 

在reg.php頁面我們寫一個(gè)表單:(此處省去了其他的HTML代碼),代碼如下:

  1. <tr> 
  2. <td>驗(yàn)證碼 :</td> 
  3. <td><input type=”text” name=”yzm”style=”width:60px;height:20px;” /><img src=”code.php” onclick=”javascript:this.src=’code.php?’+Math.random();”></img></td> 
  4. </tr> 
  5. <tr>    <td colspan=’2′><input type=”submit” value=”注冊”/></td> 
  6. <td>驗(yàn)證碼 :</td> 
  7. </tr> 

因?yàn)槲覀兪怯胮ost提交的,所以我們用$_POST來獲取(在接受頁面做驗(yàn)證碼的驗(yàn)證:post.php頁面)代碼如下:

  1. Session_start(); 
  2. //back_alert()驗(yàn)證碼輸入錯(cuò)誤的時(shí)候,彈出錯(cuò)誤信息 
  3. function back_alert($yzm){ 
  4. echo “<script type=’text/javascript’>alert(‘$yzm’);history.back();</script>”; 
  5. //禁止惡意調(diào)用(禁止直接在瀏覽器打開post.php頁面) 
  6. if($_POST["yzm"]==null){ 
  7. back_alert(‘你都木有輸入驗(yàn)證碼,有木有???’);  } 
  8. // 禁止惡意注冊 
  9. if(!($_POST["yzm"]==$_SESSION["Checknum"])){ 
  10. back_alert(‘驗(yàn)證碼不正確’); 
  11. echo $_POST["yzm"]; 
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久精品成人一区二区三区蜜臀 | 欧美国产精品一区二区三区 | 999久久| a级片一区二区三区 | 日本欧美中文字幕 | 久久99国产精品久久99大师 | 视频精品一区二区三区 | 九九热在线观看视频 | 欧洲视频一区二区 | 日韩在线h| 中文字幕一区二区三区在线观看 | 精品91久久| 国产一区二区三区久久久 | 最近中文字幕在线 | 欧美一区二区三区在线观看视频 | 91cc.live 最新国产 | 57pao国产精品一区 | 国产三级在线看 | 精品日产卡一卡二卡麻豆 | 91短视频在线视频 | 成年人免费在线视频 | 国产成人在线视频 | www99| 亚洲精品免费视频 | 欧美午夜一区二区福利视频 | 精品国产第一国产综合精品 | a级片免费视频 | 亚洲国产精品视频一区 | 国产精品一区二区三区久久 | 天堂网www | 一区二区三区在线免费视频 | 爱情岛亚洲首页论坛 | 亚洲国产精品久久久 | 久久xxx| 久一精品| 日韩精品不卡 | 九色jiuse | 日韩欧美综合 | 日韩成人在线视频观看 | 黄色一级视频免费看 | 在线精品亚洲欧美日韩国产 |