多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php利用驗證碼防止惡意注冊學習筆記

php利用驗證碼防止惡意注冊學習筆記

來源:程序員人生   發布時間:2014-01-03 15:04:57 閱讀次數:3078次

常用的防止惡意注冊就是利用驗證碼來實現了,在用戶提交注冊信息時我隨機生成一個圖形驗證碼,這樣只有人能識別了,當然簡單的驗證碼機器是機以識別的,所以復雜點的好。

今天我們來研究下PHP驗證碼,我們通過簡單的數字驗證碼來實現,首先來寫一個生成驗證碼的代碼:

  1. <?php 
  2. //隨機生成一個4位數的數字驗證碼 
  3. $num=”";     for($i=0;$i<4;$i++){     $num .= rand(0,9);     } 
  4. //4位驗證碼也可以用rand(1000,9999)直接生成 
  5. //將生成的驗證碼寫入session,備驗證頁面使用 
  6. Session_start();     $_SESSION["Checknum"] = $num
  7. //創建圖片,定義顏色值     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. //隨機繪制兩條虛線,起干擾作用 
  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. //在畫布上隨機生成大量黑點,起干擾作用; 
  20. for($i=0;$i<80;$i++)     { 
  21. imagesetpixel($im, rand(0,60), rand(0,20), $black);     } 
  22. //將四個數字隨機顯示在畫布上,字符的水平間距和位置都按一定波動范圍隨機生成 
  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頁面我們寫一個表單:(此處省去了其他的HTML代碼),代碼如下:

  1. <tr> 
  2. <td>驗證碼 :</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>驗證碼 :</td> 
  7. </tr> 

因為我們是用post提交的,所以我們用$_POST來獲取(在接受頁面做驗證碼的驗證:post.php頁面)代碼如下:

  1. Session_start(); 
  2. //back_alert()驗證碼輸入錯誤的時候,彈出錯誤信息 
  3. function back_alert($yzm){ 
  4. echo “<script type=’text/javascript’>alert(‘$yzm’);history.back();</script>”; 
  5. //禁止惡意調用(禁止直接在瀏覽器打開post.php頁面) 
  6. if($_POST["yzm"]==null){ 
  7. back_alert(‘你都木有輸入驗證碼,有木有???’);  } 
  8. // 禁止惡意注冊 
  9. if(!($_POST["yzm"]==$_SESSION["Checknum"])){ 
  10. back_alert(‘驗證碼不正確’); 
  11. echo $_POST["yzm"]; 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 依人在线免费视频 | 另类最猛性xxxxx | 欧美stockingssexxxx| 无人精品乱码一区二区三区 | 簧片免费在线观看 | 亚洲h视频在线观看 | 亚洲欧美日本欧美在线播放污 | 色吊丝二区三区中文字幕 | 精品视频一区二区三三区四区 | 亚洲人在线观看 | 东方伊人免费在线观看 | 成人性欧美丨区二区三区 | 日本特黄色大片 | 成人欧美一区二区三区黑人 | 一本久到久久亚洲综合 | 久色国产 | 亚洲成人免费网站 | 国产亚洲精品日韩已满十八 | 国产在线欧美日韩精品一区二区 | 97麻豆精品国产自产在线观看 | 欧美日韩亚洲综合久久久 | 涩涩视频www在线观看入口 | 国产免费福利网站 | 性欧美videosex18嫩 | 成年人在线观看视频网站 | 国产农村一一级特黄毛片 | 精品国产乱码久久久久久一区二区 | 999精品视频在线观看 | 国产亚洲精品自在线观看 | 中日韩欧美中文字幕毛片 | 经典三级一区二区三区视频 | 欧美在线性 | 国产三级午夜理伦三级 | 免费亚洲视频在线观看 | 亚洲最大的视频网站 | 日本一区二区高清免费不卡 | 曰本一区二区三区 | 亚洲国产成人久久综合区 | 一级毛片视频在线观看 | 欧美一级视频在线观看 | 亚洲成人免费在线视频 |