當前位置:首頁 » 編程語言 » php驗證碼

php驗證碼

發布時間: 2022-01-08 07:43:02

php驗證碼解析

同學 具體那看不明白請說
東西太多 不能一一解釋

<?php
//產生隨機變形隨機碼
session_start();;/* 開啟SESSION 以便其他頁面對驗證碼進行驗證*/
$authnum=random(4);//種子

Header("Content-type: image/PNG"); //古例,改不得
$im = imagecreate(55,18); //imagecreate() 新建圖像,大小為 x_size 和 y_size 的空白圖像。
$red = ImageColorAllocate($im, 52,24,128); //設置背景顏色
$white = ImageColorAllocate($im, 65,223,224);//設置文字顏色
$gray = ImageColorAllocate($im, 0,0,0); //設置雜點顏色
imagefill($im,55,18,$red);
for ($i = 0; $i < strlen($authnum); $i++)
{
imagestring($im, 6, 13*$i+4, 1, substr($authnum,$i,1), $white);
}
for($i=0;$i<50;$i++) imagesetpixel($im, rand()%55 , rand()%48 , $gray); //加入干擾象素
ImagePNG($im); //以 PNG 格式將圖像輸出到瀏覽器或文件
ImageDestroy($im);//銷毀一圖像
$authnum=strtolower($authnum);
$_SESSION['code']=$authnum /* 把驗證碼的內容賦值給SESSION 以便其他頁面驗證*/
//產生隨機數的函數
function random($length) /* 產生隨機數字或者字母 */
{
$hash = '';
$chars = '';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];

}

return $hash; //又來
}
?>

❷ 我的php代碼中登陸界面加一個驗證碼,如何實現

php登陸頁面+驗證碼的實現,參考如下:

1、首先新建一個php站點;

❸ php圖片驗證碼實現

可以用php的GD庫做

//隨機生成驗證碼
class randomString
{

function createRandomStr($strLen)
{
list($usec, $sec) = explode(' ', microtime());
(float) $sec + ((float) $usec * 100000);

$number = '';
$number_len = $strLen;
$stuff = '';//附加碼顯示範圍ABCDEFGHIJKLMNOPQRSTUVWXYZ
$stuff_len = strlen($stuff) - 1;
for ($i = 0; $i < $number_len; $i++) {
$number .= substr($stuff, mt_rand(0, $stuff_len), 1);
}
return $number;
}
}
通過ZD庫將驗證碼變成圖片
$number = $createStr->createRandomStr('4');//驗證碼的位數
$number_len = strlen($number);
$_SESSION["VERIFY_CODE"] = $number;

// 生成驗證碼圖片
$img_width = 60;
$img_height = 20;

$img = imageCreate($img_width, $img_height);
ImageColorAllocate($img, 0x6C, 0x74, 0x70);
$white = ImageColorAllocate($img, 0xff, 0xff, 0xff);

$ix = 6;
$iy = 2;
for ($i = 0; $i < $number_len; $i++) {
imageString($img, 5, $ix, $iy, $number[$i], $white);
$ix += 14;
}
for($i=0;$i<200;$i++) //加入干擾象素
{
$randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($img, rand()%100 , rand()%50 , $randcolor);
}

// 輸出圖片
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));

imagepng($img);
imagedestroy($img);

❹ PHP驗證碼輸出

function getRandCode(){
$code="";
$string="";
for($i=0;$i<4;$i++){
$string.=$code{rand(0,strlen($code)-1)};
}
return $string;
}
存在這個$string中!!你直接把它弄成個全局的 輸出下!或者存到session中也可以

❺ PHP驗證碼代碼問題

<form action="" method="post">

<img src='2.php'><br> 「 這句調用的文件對不,是你第一個文件不?你把這個 2.php換成你驗證碼的那個文件試試

<input type="text" name="check" ><br>
<input type="submit" value="提交" ><br>

</form>

❻ PHP如何去掉輸入驗證碼

你發的這些代碼,只是驗證碼生成頁面!
要去掉驗證碼驗證, 那就要在登陸邏輯處理頁面對驗證碼的驗證進行取消, 而不是這里的代碼!

❼ php驗證碼判斷

session_start();
$str_number = trim($_POST['number']);
if(strtolower($_SESSION['rand'])==strtolower($str_number )){
echo "驗證碼正確";
}else{
echo "驗證碼不正確";
}

最好加strtolower函數轉換下大小寫,這樣子,用戶在輸入時就不用區分大小寫了。不然用戶體驗會很麻煩,這是我個人理解。

❽ php你的驗證碼安全碼

驗證碼的作用主要有防止暴力破解,防止惡意灌水,防止自動提交等,在這里我就不多說了。驗證碼的類型也有數字、字母等,甚至厲害點的還有中文的。但是不管你的驗證碼多麼厲害,只要你在表單驗證中存在如下的失誤,你的驗證碼就形同虛設!
驗證碼的一般思路,就是每次登陸的地方訪問一個腳本文件,該文件生成含驗證碼的圖片並將值寫入到Session里,提交的時候驗證登陸的腳本就會判斷提交的驗證碼是否與Session里的一致。
問題出現了,在登陸密碼錯誤之後,我們不去訪問生成驗證圖片的文件,那麼如果Session中的驗證碼沒有被清空,此時驗證碼就是跟上次的一樣,辛辛苦苦構建的驗證碼機制就形同虛設了。
下面我們先來看一段有問題的代碼:
登陸部分:
CODE:
<tr>
<td>管理員姓名:

❾ 求問一個php驗證碼失效問題

1樓的確說的也對,還有你的驗證碼驗證是不是在插入數據之前呢,還有是不是還有其他的入口提交位置,你忽略的驗證。

❿ php 怎麼獲取驗證碼的值

$_SESSION["vcode"] = $vcode;
驗證碼的值就在 $_SESSION["vcode"] 裡面。

熱點內容
小紅書上傳不動 發布:2024-05-16 18:50:46 瀏覽:38
為什麼安卓手機雙清不卡頓 發布:2024-05-16 18:49:51 瀏覽:103
會推廣源碼 發布:2024-05-16 18:36:19 瀏覽:342
台式電腦相片存儲 發布:2024-05-16 18:31:16 瀏覽:989
nginx動態編譯 發布:2024-05-16 18:31:12 瀏覽:59
廣本雅閣哪個配置好 發布:2024-05-16 18:29:08 瀏覽:964
警苑飯店wifi密碼多少 發布:2024-05-16 18:04:51 瀏覽:450
致炫x自豪版有哪些配置 發布:2024-05-16 17:04:12 瀏覽:670
關掉密碼要往哪裡關 發布:2024-05-16 16:46:03 瀏覽:370
網站源碼查殺 發布:2024-05-16 16:02:53 瀏覽:834