發表博客時看到了本網站的驗證碼功能,所以寫了這篇文章。原理相同
爲了防止暴力破解我們一般都會添加驗證碼功能,這裏主要介紹php帶運算的驗證碼是如何實現的。
1.首先要繪製驗證碼的背景圖片 使用GD2來實現
$image = imagevreate(70,20);//設置畫布大小
$background = ImageColorAllocate($im,245,245,245);//創建顏色,用於填充畫布
imagefill($image,0,0$background);//填充畫布
2.在畫布上繪製數字
$color = ImageColorAllocate($image,rand(100,255),rand(0,100),rand(100,255));//隨機創建一種顏色
$num = rand(1,9);//創建一個隨機數
imagestring($image,5,2+0*10,1,$num,$color);//在畫布上繪製數字
3.添加運算
以加法爲例,繪製4個隨機數字,第一個是被加數的十位,第二個是被加數的個位,第三個是加數的十位,第四個是加數的個位,在第二三個數字中間繪製運算符(+),在第四個數後面繪製等號。
算出結果$result=$a*10+$b+$c*10+$d
4.驗證驗證碼
驗證碼在顯示時我們可以將生成的結果存放在一個session的值裏 $_SESSION['result']=$result。和用戶輸入的驗證碼做對比,驗證是否輸入正確