php驗證碼怎麼做?

來源:互聯網
上載者:User
php驗證碼製作是對php基本功的考核,php驗證碼製作必需開啟gd庫,因為要用到gd庫裡面的不少函數

推薦學習PHP開發驗證碼教程

1.建立驗證碼底圖

<?php$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,000,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/3872.html

2.實現數字驗證碼

<?php$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $fontcontent = rand(0,9); $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/3874.html

3.增加幹擾元素

<?php$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $fontcontent = rand(0,9); $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}for($i=0;$i<200;$i++){ $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);}header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/3875.html

4.字母和數字混合驗證碼

<?php$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $data='abcdefghijklmnopqrstuvwxyz1234567890'; $fontcontent=substr($data,rand(0,strlen($data)),1); $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}for($i=0;$i<200;$i++){ $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);}for($i=0;$i<8;$i++){ $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/3878.html

5.使用session儲存驗證資訊

<?phpsession_start();$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);$captch_code="";for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $data='abcdefghijklmnopqrstuvwxyz1234567890'; $fontcontent=substr($data,rand(0,strlen($data)),1); $captch_code.="$fontcontent"; $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION['code']=$captch_code;for($i=0;$i<200;$i++){ $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);}for($i=0;$i<8;$i++){ $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/3879.html

6.驗證碼的使用

<?phpsession_start();$image = imagecreatetruecolor(100,30);$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFFimagefill($image,0,0,$bgcolor);$captch_code="";for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $data='abcdefghijklmnopqrstuvwxyz1234567890'; $fontcontent=substr($data,rand(0,strlen($data)),1); $captch_code.="$fontcontent"; $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION['code']=$captch_code;for($i=0;$i<200;$i++){ $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);}for($i=0;$i<5;$i++){ $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header('content-type: image/png');imagepng($image);//銷毀imagedestroy($image);?>

課程連結:http://www.php.cn/code/4832.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.