最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

探討如何在php168_cms中提取驗證碼

 更新時間:2013年06月08日 11:35:20   作者:  
本篇文章是對在php168_cms中提取驗證碼進行了詳細的分析介紹,需要的朋友參考下

復制代碼 代碼如下:

<?php
function yzImg($nmsg){
 if (function_exists('imagecreatetruecolor')){
  $imstr[0]["s"]=$nmsg[0];
  $imstr[1]["s"]=$nmsg[1];
  $imstr[2]["s"]=$nmsg[2];
  $imstr[3]["s"]=$nmsg[3];
  //文件頭...
  header("Content-type: image/png");
  //創(chuàng)建真彩色白紙
  $im = @imagecreatetruecolor(50, 20) or die("建立圖像失敗");
  //獲取背景顏色
  $background_color = imagecolorallocate($im, 255, 255, 255);
  //填充背景顏色(這個東西類似油桶)
  imagefill($im,0,0,$background_color);
  //獲取邊框顏色
  $border_color = imagecolorallocate($im,200,200,200);
  //畫矩形,邊框顏色200,200,200
  imagerectangle($im,0,0,49,19,$border_color);
  //逐行炫耀背景,全屏用1或0
  for($i=2;$i<28;$i++){
  //獲取隨機淡色
  $line_color = imagecolorallocate($im,rand(180,255),rand(180,255),rand(180,255));
  //畫線
  imageline($im,2,$i,47,$i,$line_color);
  }
  //設置字體大小
  $font_size=12;
  //設置印上去的文字
  $Str[0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $Str[1] = "abcdefghijklmnopqrstuvwxyz";
  $Str[2] = "01234567891234567890123456";
  //獲取第1個隨機文字
  //$imstr[0]["s"] = $Str[rand(0,2)][rand(0,25)];
  $imstr[0]["x"] = rand(2,5);
  $imstr[0]["y"] = rand(1,4);
  //獲取第2個隨機文字
  //$imstr[1]["s"] = $Str[rand(0,2)][rand(0,25)];
  $imstr[1]["x"] = $imstr[0]["x"]+$font_size-1+rand(0,1);
  $imstr[1]["y"] = rand(1,3);
  //獲取第3個隨機文字
  //$imstr[2]["s"] = $Str[rand(0,2)][rand(0,25)];
  $imstr[2]["x"] = $imstr[1]["x"]+$font_size-1+rand(0,1);
  $imstr[2]["y"] = rand(1,4);
  //獲取第4個隨機文字
  //$imstr[3]["s"] = $Str[rand(0,2)][rand(0,25)];
  $imstr[3]["x"] = $imstr[2]["x"]+$font_size-1+rand(0,1);
  $imstr[3]["y"] = rand(1,3);
  //寫入隨機字串
  for($i=0;$i<4;$i++){
   //獲取隨機較深顏色
   $text_color = imagecolorallocate($im,rand(80,180),rand(80,180),rand(80,180));
   //畫文字
   imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color);
  }
  //顯示圖片
  imagepng($im);
  //銷毀圖片
  imagedestroy($im);
  exit;
 } else {
  header("Pragma:no-cache");
  header("Cache-control:no-cache");
  header("ContentType: Image/BMP");

  $Color[0] = chr(0).chr(0).chr(0);
  $Color[1] = chr(255).chr(255).chr(255);
  $_Num[0]  = "1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111110000111";
  $_Num[1]  = "1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111";
  $_Num[2]  = "1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011";
  $_Num[3]  = "1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111";
  $_Num[4]  = "1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011";
  $_Num[5]  = "1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111";
  $_Num[6]  = "1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111";
  $_Num[7]  = "1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111";
  $_Num[8]  = "1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111";
  $_Num[9]  = "1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111";

  echo chr(66).chr(77).chr(230).chr(4).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(54).chr(0).chr(0).chr(0).chr(40).chr(0).chr(0).chr(0).chr(40).chr(0).chr(0).chr(0).chr(10).chr(0).chr(0).chr(0).chr(1).chr(0);
  echo chr(24).chr(0).chr(0).chr(0).chr(0).chr(0).chr(176).chr(4).chr(0).chr(0).chr(18).chr(11).chr(0).chr(0).chr(18).chr(11).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0);

  for ($i=9;$i>=0;$i--){
    for ($j=0;$j<=3;$j++){
      for ($k=1;$k<=10;$k++){
        echo $Color[substr($_Num[$nmsg[$j]], $i * 10 + $k, 1)];
      }
    }
  }
  exit;
 }

}

$string_yzimg=yzImgNumRand(4);


yzImg($string_yzimg);

function yzImgNumRand($lenth){
 mt_srand((double)microtime() * 1000000);
 for($i=0;$i<$lenth;$i++){
  $randval.= mt_rand(1,9);
 }
 return $randval;
}
/*==隱逸鳥==*/
?>


這個生成的驗證碼只是單純的數字,背景填充很簡單了只是26根直線填充的。前邊看到他是想要4為隨機字母加數字的序列,可是后來生成序列的時候卻僅僅用了數字,字母卻并沒有用。下面重新修改為4位字母加數字的序列:
復制代碼 代碼如下:

function yzImgNumRand($lenth){
 mt_srand((double)microtime() * 1000000);
$Str[0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 $Str[1] = "abcdefghijklmnopqrstuvwxyz";
 $Str[2] = "01234567891234567890123456";
for($i=0;$i<$lenth;$i++){
  $randval.= $Str[rand(0,2)][rand(0,25)];
}
 return $randval;
}

相關文章

  • php在頁面中調用fckeditor編輯器的方法

    php在頁面中調用fckeditor編輯器的方法

    fckeditor編輯器的代碼可以寫成一個函數或者類別,直接調用,不用每次都要寫那么多代碼!
    2011-06-06
  • linux使用crontab實現PHP執(zhí)行計劃定時任務

    linux使用crontab實現PHP執(zhí)行計劃定時任務

    前幾天寫過一篇文章,利用單純的php實現定時執(zhí)行任務,但是效率不佳,對于linux來說用crontab實現更加合理
    2014-05-05
  • PHP url 加密解密函數代碼

    PHP url 加密解密函數代碼

    這是一種方式,但是是最安全的,因為只要知道這個原理就可以解開,不過你的要求不高這樣就可以了.
    2011-08-08
  • php5與php7的區(qū)別點總結

    php5與php7的區(qū)別點總結

    在本篇文章里小編給大家整理的是關于php5與php7的區(qū)別是什么的相關知識點內容,有需要的朋友們學習下。
    2019-10-10
  • 深入apache host的配置詳解

    深入apache host的配置詳解

    本篇文章是對apache host的配置進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php頁面函數設置超時限制的方法

    php頁面函數設置超時限制的方法

    這篇文章主要介紹了php頁面函數設置超時限制的方法,可通過函數控制超時限制,也可通過修改php配置文件實現修改超時限制,需要的朋友可以參考下
    2014-12-12
  • php中轉義mysql語句的實現代碼

    php中轉義mysql語句的實現代碼

    如果你需要向數據庫,插入形如’你好’,這樣包含有單引號或者雙引號的字符串怎么辦,當然可以使用反斜杠進行轉義,但是如果內容太多呢?
    2011-06-06
  • php實現三級級聯下拉框

    php實現三級級聯下拉框

    這篇文章主要介紹了php實現三級級聯下拉框,上網翻找了許多三級級聯下拉框實現的資料,下面分享給大家
    2016-04-04
  • php判斷GIF圖片是否為動畫的方法

    php判斷GIF圖片是否為動畫的方法

    這篇文章主要介紹了php判斷GIF圖片是否為動畫的方法,需要的朋友可以參考下
    2014-07-07
  • php+mysql數據庫查詢實例

    php+mysql數據庫查詢實例

    這篇文章主要介紹了php+mysql數據庫查詢的方法,實例分析了數據庫查詢的原理與完整實現步驟,并進行了針對性的分析說明,需要的朋友可以參考下
    2015-01-01

最新評論

阿鲁科尔沁旗| 申扎县| 兴业县| 东港市| 墨竹工卡县| 大港区| 南昌市| 桐梓县| 七台河市| 喜德县| 巨野县| 关岭| 柳州市| 昭平县| 那曲县| 揭阳市| 麻阳| 涞水县| 永济市| 奎屯市| 石泉县| 大兴区| 彰化县| 铜梁县| 马关县| 藁城市| 边坝县| 东城区| 武胜县| 青神县| 丹巴县| 上犹县| 高邑县| 冷水江市| 金堂县| 蚌埠市| 金坛市| 根河市| 阳泉市| 乐山市| 揭东县|