php產生簡單的驗證碼

2021-05-24 09:08:02 字數 1149 閱讀 3857

必備條件:

php增加了gd庫這個擴充套件。(gd庫為php提供了一系列操作的方法)。

簡要概括:

把用隨機函式產生的數字作為驗證碼的值,把驗證碼放在伺服器端的session中,通過與客戶端輸入值的比較來判斷驗證碼是否正確。

首先,建立驗證碼:

<?php

//要把值賦給session首先要啟動該服務元件

session_start();

//產生隨機數字並賦給$nums,期中rand()函式是用來產生0到15的隨機數,dechex()的作用是把rand()表示為16進製制,這樣就能出現a-f中的部分字母

for($i=0;$i<4;$i++){

$nums.=dechex(rand(0,15));

//把值賦給建立並把值賦給session

$_session[image]=$nums;

//設定的大小尺寸

$img=imagecreatetruecolor(100,30);

//set color,設定背景色

$bg=imagecolorallocate($img,0,0,0);

//font color,設定前景色,既是字型的顏色

$fg=imagecolorallocate($img,255,255,255);

//font loacation,字型相對於的位置,以及字型的設定

imagestring($img,rand(1,6),rand(5,60),rand(3, 15),$nums,$fg);

//print the image,輸出,交給使用者端使用

header("content-type:image/jpeg");

imagejpeg($img);

通過上面的步驟產生了驗證碼的,可是怎麼使用呢。

客戶端的介面可以簡單的是這樣的:

<?php

session_start();//同樣的是啟動session元件

if($_post[numbers]){//如果表單輸入的值不為空

if($_session[image]==$_post[numbers]){//並且上乙個php產生的隨機數和客戶端輸入的值一樣,列印出驗證碼正確

echo "驗證碼正確.";

else {

echo "驗證碼錯誤.";

利用PHP產生隨機驗證碼

大家都知道一般 的登陸除了賬號密碼之外,還需輸入驗證碼進行驗證。今天,給大家分享乙個利用php產生隨機驗證碼的案例。這個案例是乙個用物件導向的php寫的,下面給出其原始碼 class randstring public function randnum strnum new randstring 4...

驗證碼 簡單驗證碼識別

這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...

PHP實現簡單的驗證碼

我寫了兩種驗證碼 數字 字母驗證碼和漢字驗證碼。首先是html的表單 if isset post sub else 數字驗證碼authcode 1.php session start yzm 驗證碼 image imagecreatetruecolor 100,30 bgcolor imagecol...