php 驗證碼控制項

來源:互聯網
上載者:User

 注意:以下代碼需要開啟php的GD庫,修改php.in檔案的配置,把已經注釋掉的行之前的分號取消即可:extension=php_gd2.dll。

<?
session_start();
//產生驗證碼圖片
Header("Content-type: image/PNG");
$im = imagecreate(44,18);
$back = ImageColorAllocate($im, 245,245,245);
imagefill($im,0,0,$back); //背景

 

srand((double)microtime()*1000000);
//產生4位元字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}

 

for($i=0;$i<100;$i++) //加入幹擾象素

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);

ImagePNG($im);
ImageDestroy($im);

 

$_SESSION['VCODE'] = $vcodes;
?>

到具體調用的地方,用這樣的形式:<img src="/yz.php" align="absmiddle" />就可以了;驗證的時候驗證session:$_SESSION['VCODE']的值就可以了。還可以對以上代碼稍微改進,改成兩個數字相加求和的形式,效果可以參見《ASP產生Bmp圖片驗證碼:數字相加求和》。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.