php 驗證碼制作(網(wǎng)樹注釋思想)
更新時間:2009年07月20日 23:01:54 作者:
php 驗證碼制作原理分析。
1,生成隨機數(shù)
用for循環(huán)確定生成幾個隨機數(shù)。
用隨機函數(shù)生成范圍內(nèi)隨機數(shù)。例如rand(1,15),生成1到15之間的數(shù)字。
用16位進(jìn)制函數(shù)把生成數(shù)字字母化。dechex(rand(1,15))。
用.=運算來保存幾個數(shù)字。
把生成好的隨機數(shù)放到$_SESSION[變量]。等將來跟用戶提交的內(nèi)容比較。
2,創(chuàng)建圖片
用圖片創(chuàng)建函數(shù)確定,所創(chuàng)建的圖片大小。
例如$im = imagecreatetruecolor(100,30);其中坐標(biāo)100,30是以網(wǎng)頁左上角為原點,$im為圖片變量了。
3,設(shè)置顏色
使用函數(shù) 創(chuàng)建背景色。例如$bg = imagecolorallocate($im,0,0,0);其中0,0,0是三原色數(shù)字,$im為上面創(chuàng)建的圖片
使用函數(shù) 創(chuàng)建字體色。例如$te = imagecolorallocate($im,255,255,255);
4,把字符寫在圖像左上角
使用函數(shù) imagestring()吧字符寫在圖像。例如imagestring($im,5,0,0,$rand,$te);$im為上面創(chuàng)建的圖片,5是顯示方式,0,0
是坐標(biāo),$te是字體顏色
5,輸出圖像
使用函數(shù) header("Content-type:image/jpeg");imagejpeg($im);輸出圖像。
----------------------------------我是華麗的分割線---------------------------
1,開啟session功能;例如session_start();
2,寫表單
3,表單提交的驗證碼 數(shù)據(jù) 與上面的$_SESSION[變量]比較
相等,驗證正確。
不相等,則錯誤。
用for循環(huán)確定生成幾個隨機數(shù)。
用隨機函數(shù)生成范圍內(nèi)隨機數(shù)。例如rand(1,15),生成1到15之間的數(shù)字。
用16位進(jìn)制函數(shù)把生成數(shù)字字母化。dechex(rand(1,15))。
用.=運算來保存幾個數(shù)字。
把生成好的隨機數(shù)放到$_SESSION[變量]。等將來跟用戶提交的內(nèi)容比較。
2,創(chuàng)建圖片
用圖片創(chuàng)建函數(shù)確定,所創(chuàng)建的圖片大小。
例如$im = imagecreatetruecolor(100,30);其中坐標(biāo)100,30是以網(wǎng)頁左上角為原點,$im為圖片變量了。
3,設(shè)置顏色
使用函數(shù) 創(chuàng)建背景色。例如$bg = imagecolorallocate($im,0,0,0);其中0,0,0是三原色數(shù)字,$im為上面創(chuàng)建的圖片
使用函數(shù) 創(chuàng)建字體色。例如$te = imagecolorallocate($im,255,255,255);
4,把字符寫在圖像左上角
使用函數(shù) imagestring()吧字符寫在圖像。例如imagestring($im,5,0,0,$rand,$te);$im為上面創(chuàng)建的圖片,5是顯示方式,0,0
是坐標(biāo),$te是字體顏色
5,輸出圖像
使用函數(shù) header("Content-type:image/jpeg");imagejpeg($im);輸出圖像。
----------------------------------我是華麗的分割線---------------------------
1,開啟session功能;例如session_start();
2,寫表單
3,表單提交的驗證碼 數(shù)據(jù) 與上面的$_SESSION[變量]比較
相等,驗證正確。
不相等,則錯誤。
您可能感興趣的文章:
相關(guān)文章
PHP實現(xiàn)普通和定時跳轉(zhuǎn)的幾種方式
這篇文章主要為大家詳細(xì)介紹了PHP實現(xiàn)普通和定時跳轉(zhuǎn)的幾種方式,文章通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以參考下2023-11-11字符串長度函數(shù)strlen和mb_strlen的區(qū)別示例介紹
strlen和mb_strlen的區(qū)別,但是對于一些初學(xué)者來說,如果不看手冊,也許不太清楚其中的區(qū)別,下面與大家分享下兩者之間的區(qū)別2014-09-09PHP數(shù)組的內(nèi)部實現(xiàn)你了解嗎
這篇文章主要為大家詳細(xì)介紹了PHP數(shù)組的內(nèi)部實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03php函數(shù)serialize()與unserialize()用法實例
這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實例形式詳細(xì)講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價值,需要的朋友可以參考下2014-11-11解決form中action屬性后面?傳遞參數(shù) 獲取不到的問題
下面小編就為大家?guī)硪黄鉀Qform中action屬性后面?傳遞參數(shù) 獲取不到的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07