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隱形一句話后門,和ThinkPHP框架加密碼程序(base64_decode)
今天一個客戶的服務(wù)器頻繁被寫入一句話后門,刪除了還有,原來在程序中加入了如下代碼,大家可以注意下base64_decode函數(shù)的參數(shù)。2011-11-11
php實現(xiàn)Mongodb自定義方式生成自增ID的方法
這篇文章主要介紹了php實現(xiàn)Mongodb自定義方式生成自增ID的方法,實例分析了Mongodb自增字段的實現(xiàn)技巧與對應(yīng)php操作方法,需要的朋友可以參考下2015-03-03
php usort 使用用戶自定義的比較函數(shù)對二維數(shù)組中的值進(jìn)行排序
這篇文章主要介紹了php usort 使用用戶自定義的比較函數(shù)對二維數(shù)組中的值進(jìn)行排序,需要的朋友可以參考下2017-05-05

