由于沒有源碼下載,我把我寫的貼在此處,希望不清楚的小伙伴參考一下,如果有錯誤還望指正,Thx
captcha.php
<?php ????????session_start(); ????????$image?=?imagecreatetruecolor(100,30); ????????$bgcolor?=?imagecolorallocate($image,255,255,255); ????????imagefill($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);; ????????}*/ ????????????$captch_code?=?''; ????????????for($i=0;$i<4;$i++){ ????????????????$fontsize?=?6; ????????????????$fontcolor?=?imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); ????????????????$data?=?'abcdefghigklmnopqrstuvwxyz1234567890'; ????????????????$fontcontent?=?substr($data,rand(0,strlen($data))-1,1); ????????????????$captch_code.=$fontcontent; ????????????????$x?=?($i*100/4)?+?rand(5,10); ????????????????$y?=?rand(5,10); ????????????????imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); ????????????} ????????$_SESSION['authcode']?=?$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<3;?$i++){ ????????????$linecolor?=?imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,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);
form.php
<?php ?header("Content-type:text/html;charset=utf-8"); ?if(isset($_REQUEST['authcode'])){ ?session_start(); ?if(strtolower($_REQUEST['authcode'])==$_SESSION['authcode']){ ?echo?'<p?color="#0000CC">輸入正確</p>'; ?}else{ ?echo?'<p?color="#CC0000">輸入錯誤</p>'; ?} ?exit; ?} ?> <!doctype?html> <html?lang="en"> <head> ????<meta?charset="UTF-8"> ????<title>確認(rèn)驗證碼</title> </head> <body> <form?method="post"?action="./form.php"> ????<p>驗證圖片:?<img?src="./captcha.php?r=<?php?echo?rand();?>"?border="1"?width="100"></p> ????<p>請輸入圖片中的內(nèi)容: ????????<input?type="text"?name="authcode"?value=""/> ????</p> ????<p><input?type="submit"?value="提交"?style="padding:?6px?20px;"/></p> </form> </body> </html>
2016-02-24
贊~~~