php畫圖應用之驗證碼

來源:互聯網
上載者:User

標籤:header   session   數字   顏色   處理   head   產生   php   and   

在畫圖裡面,就像之前所說的。php的畫圖是真正動態畫圖,儘管自己承認會出的圖是非常不好看的。但我們主要關注的應該還是資料處理。

驗證碼我們差點兒無處不見,它的產生和畫圖技術是密不可分的。事實上,簡單的驗證碼繪製出來是非常easy的,就像以下的一段代碼就能夠繪製出包括字母和數位元素:

<?php$checkCode="";for($i=0; $i<=3;$i++){$checkCode.=dechex(rand(1,15));}session_start();$_SESSION[‘checkCode‘]=$checkCode;//建立畫布$img_1=imagecreatetruecolor(110, 30);$red=imagecolorallocate($img_1, 255, 0, 0);imagestring($img_1, 5, 0, 0, $checkCode, $red);header("Content-type: image/png");imagepng($img_1);imagedestroy($img_1);?

>


上面的代碼僅僅是簡單的說了一下驗證碼的繪製。事實上代碼方面並沒有進行安全處理。

以下是相對的把驗證碼處理的相對複雜了一些:

<?php$checkCode="";for($i=0; $i<=3;$i++){$checkCode.=dechex(rand(1,15));}session_start();$_SESSION[‘checkCode‘]=$checkCode;//建立畫布$img_1=imagecreatetruecolor(70, 40);//必須是先建立畫布。在建立顏色。$red=imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255));for($k=0; $k<=20; $k++){imageline($img_1, rand(0,50),rand(0,30),0,0,0,0, imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255)));}imagestring($img_1, rand(3,7), rand(0,40), rand(0,20), $checkCode, $red);header("Content-type: image/png");imagepng($img_1);imagedestroy($img_1);?>


php畫圖應用之驗證碼

聯繫我們

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