一分鐘學會使用PHP生成網頁驗證碼

2021-06-15 21:29:52 字數 1332 閱讀 5957

現在web頁面上的表單一般都會內嵌一條驗證碼輸入,以防止伺服器被惡意dos攻擊或者不法之徒利用機器程式自動貼牛皮癬廣告。

在php裡的簡單實現方法如下:

再由php程式自動生成隨機的待驗證的一串數字和字母組合的字元, 呼叫imagettftext()函式畫到中,

並把這串字元儲存到session級變數中。

以下為生成驗證碼的檔案authcode.php (需要php gd庫的支援,否則無法正常顯示驗證碼)

<?php

session_start();

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

srand((double)microtime() * 1000000);

$imagewidth = 60;

$imageheight = 20;

$authimage = imagecreate($imagewidth, $imageheight);

$black = imagecolorallocate($authimage, 0, 0, 0);

$white = imagecolorallocate($authimage, 255, 255, 255);

$red = imagecolorallocate($authimage, 255, 0, 0);

$gray = imagecolorallocate($authimage, 200, 200, 200);

//背景顏色為灰色

imagefill($authimage, 0, 0, $gray);

//隨機的生成一些干擾畫素

for($i = 0; $i < 400; $i++)

//隨機的畫幾條線段

for($i = 0; $i < 6; $i++)

//生成驗證串

$array = "0123456789abcdefghijklmnopqrstuvwxyz";

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

imagettftext($authimage, 20, 0, 0, $imageheight, $red, 'arial.ttf', $authcode);

imagepng($authimage);

imagedestroy($authimage);

$_session['authcode'] = $authcode;

?>

2. 在form表單中新增顯示驗證碼

驗證碼:

3. 當使用者提交輸入後,就可以驗證所輸入的驗證碼與伺服器端儲存的驗證碼是否一致。

if(strcmp($_session['authcode'], $_post['authcode']))

一分鐘學會使用Inno Setup 製作安裝程式

簡言之,inno setup 免費,開源,易學,易用,現在就開始體驗吧 安裝完inno setup之後,開啟inno setup 編譯器,就可以開始寫指令碼了。新建乙個iss指令碼檔案,儲存到乙個目錄下 同時把你的待打包的程式檔案也放在這個目錄下 就可以開始寫指令碼了,inno setup的指令碼類...

一分鐘學會 docker

標題黨,其實僅僅是 docker 的發布而已。檢視當前執行的 docker docker ps a 停止 docker docker stop 容器 id 或者 tag 移除 docker docker rm 容器 id 檢視所有映象 docker images 移除映象 docker rmi 例如...

一分鐘sed入門(一分鐘系列)

1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...