最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用php實現(xiàn)網(wǎng)站驗證碼功能【推薦】

 更新時間:2017年02月09日 09:33:55   作者:怪獸小飛機  
本文主要介紹了使用php實現(xiàn)網(wǎng)站驗證碼功能的方法。具有很好的參考價值,下面跟著小編一起來看下吧

驗證碼是網(wǎng)站常用的一項安全措施,也是新人站長較難掌握的一項技能,這里我向大家介紹一簡單有效的驗證碼實現(xiàn)方法。

開始之前

在正式開始之前我們需要打開php的gd2圖形庫支持(在php.ini,中搜索“php_gd2.dll”,找到“;extension=php_gd2.dll”并去掉句首的分號) 。

可以參考:如何打開php的gd2庫

核心:img.php

這個頁面生成一張驗證碼并將正確數(shù)值寫入 Session

隨機一個4位驗證碼

$check=rand(1000,9999); 

將生成的驗證碼寫入session

Session_start(); 
$_SESSION["check"] = $check;

創(chuàng)建一張圖片

$im = imagecreate(80,30);

由于這種圖片的背景默認是黑色的所以我們要用白色填充。

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255)); 

使用imageline隨機繪制兩條實線

$y1=rand(0,30); 
$y2=rand(0,30); 
$y3=rand(0,30); 
$y4=rand(0,30); 
imageline($im,0,$y1,70, $y3,000); 
imageline($im,0,$y2,70, $y4,000);

在隨機位置繪制文字

$strx=rand(3,15); 
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));

輸出圖像

Header("Content-type: image/PNG"); 
ImagePNG($img);

結(jié)束,下面是完整代碼

<?php $check=rand(1000,9999);
Session_start(); 
$_SESSION["check"] = $check; 
$img = imagecreate(80,30); 
imagefill($img,0,0,ImageColorAllocate($img,255,255,255)); 
$y1=rand(0,30); 
$y2=rand(0,30); 
$y3=rand(0,30); 
$y4=rand(0,30); 
imageline($img,0,$y1,70, $y3,ImageColorAllocate($img,55,255,25)); 
imageline($img,0,$y2,70, $y4,ImageColorAllocate($img,55,55,255)); 
$strx=rand(3,15); 
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10)); 
Header("Content-type: image/PNG"); 
ImagePNG($img);

用戶界面:index.php

想必大家都知道怎么做,我就直接給出代碼了

 <!DOCTYPE html>
<html>
<body>
<form action="action.php" method="post">
<input type="text" name="cikle" placeholder="驗證碼">
<br>
<img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit">
</form> 
</body>
</html>

以上的代碼將用戶輸入的數(shù)值傳遞到“action.php”中

檢查:action.php

這一步要將用戶輸入數(shù)值與session中的數(shù)值進行比對

相等,輸出“正確”

不相等,輸出“不正確”

<?php
Session_start(); 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if($_SESSION["check"]!=intval($_POST["cikle"])){
 echo "不正確";
 }else{
 echo "正確";
 }
}

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

最新評論

平遥县| 平阴县| 巴彦淖尔市| 滦南县| 米林县| 瑞安市| 江源县| 石楼县| 新乐市| 鸡东县| 新巴尔虎右旗| 临武县| 顺义区| 岗巴县| 白玉县| 大竹县| 梁河县| 虞城县| 郴州市| 兴城市| 疏勒县| 马鞍山市| 庄河市| 邛崃市| 巴林左旗| 北辰区| 麻城市| 祁连县| 洛川县| 吉首市| 开鲁县| 莒南县| 吕梁市| 子洲县| 康平县| 三明市| 抚州市| 西吉县| 永福县| 化州市| 阿瓦提县|