現在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的內容 ...