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

PHP生成加減算法方式的驗(yàn)證碼實(shí)例

 更新時(shí)間:2018年03月12日 09:31:47   作者:pengmingdong  
下面小編就為大家分享一篇PHP生成加減算法方式的驗(yàn)證碼實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

這是在網(wǎng)上找的一個(gè)demo,我加入了一部分代碼??梢允褂谩?/p>

這里需要說明一下,我們調(diào)用這個(gè)驗(yàn)證碼類應(yīng)該在一個(gè)單獨(dú)的控制器方法中使用。

生成的圖片的算法是用代碼生成的,然后把計(jì)算值存入session中。

驗(yàn)證的時(shí)候是獲取用戶的輸入值,然后取出服務(wù)端的值進(jìn)行對(duì)比

<?php 
namespace mobile\components;
/** 
 * @author fenghuo 
 * 
 * 改造的加減法驗(yàn)證類 
 * 使用示例 VerifyCode::get(1,2); 
 * 驗(yàn)證示例 VerifyCode::check($code); 
 */ 
class VerifyCode 
{ 
  /** 
   * php驗(yàn)證碼 
   */ 
  public static function get($one,$two,$prefix = '', $font_size = 28) 
  { 
    //文件頭... 
    ob_get_clean();
    header("Content-type: image/png;charset=utf-8;"); 
    //創(chuàng)建真彩色白紙 
    $width      = $font_size*5; 
    $height      = $font_size+1; 
    $im        = @imagecreatetruecolor($width, $height) or die("建立圖像失敗"); 
    //獲取背景顏色 
    $background_color = imagecolorallocate($im, 255, 255, 255); 
    //填充背景顏色 
    imagefill($im, 0, 0, $background_color); 
    //獲取邊框顏色 
    $border_color   = imagecolorallocate($im, 200, 200, 200); 
    //畫矩形,邊框顏色200,200,200 
    imagerectangle($im,0,0,$width - 1, $height - 1,$border_color); 
    //逐行炫耀背景,全屏用1或0 
    for($i = 2;$i < $height - 2;$i++) { 
      //獲取隨機(jī)淡色 
      $line_color = imagecolorallocate($im, rand(200,255), rand(200,255), rand(200,255)); 
      //畫線 
      imageline($im, 2, $i, $width - 1, $i, $line_color); 
    } 
    //設(shè)置印上去的文字 
    $firstNum = $one; 
    $secondNum = $two; 
    $actionStr = $firstNum > $secondNum ? '-' : '+'; 
    //獲取第1個(gè)隨機(jī)文字 
    $imstr[0]["s"] = $firstNum; 
    $imstr[0]["x"] = rand(2, 5); 
    $imstr[0]["y"] = rand(1, 4); 
    //獲取第2個(gè)隨機(jī)文字 
    $imstr[1]["s"] = $actionStr; 
    $imstr[1]["x"] = $imstr[0]["x"] + $font_size - 1 + rand(0, 1); 
    $imstr[1]["y"] = rand(1,5); 
    //獲取第3個(gè)隨機(jī)文字 
    $imstr[2]["s"] = $secondNum; 
    $imstr[2]["x"] = $imstr[1]["x"] + $font_size - 1 + rand(0, 1); 
    $imstr[2]["y"] = rand(1, 5); 
    //獲取第3個(gè)隨機(jī)文字 
    $imstr[3]["s"] = '='; 
    $imstr[3]["x"] = $imstr[2]["x"] + $font_size - 1 + rand(0, 1); 
    $imstr[3]["y"] = 3; 
    //獲取第3個(gè)隨機(jī)文字 
    $imstr[4]["s"] = '?'; 
    $imstr[4]["x"] = $imstr[3]["x"] + $font_size - 1 + rand(0, 1); 
    $imstr[4]["y"] = 3; 
    //文字 
    $text = ''; 
    //寫入隨機(jī)字串 
    for($i = 0; $i < 5; $i++) { 
      //獲取隨機(jī)較深顏色 
      $text_color = imagecolorallocate($im, rand(50, 180), rand(50, 180), rand(50, 180)); 
      $text .= $imstr[$i]["s"]; 
      //畫文字 
      imagechar($im, $font_size, $imstr[$i]["x"], $imstr[$i]["y"], $imstr[$i]["s"], $text_color); 
    } 
    session_start();
    $_SESSION[$prefix.'verifycode'] = $firstNum > $secondNum ? ($firstNum - $secondNum) : ($firstNum + $secondNum); 
    //顯示圖片 
    ImagePng($im); 
    //銷毀圖片 
    ImageDestroy($im); 
  } 
  public static function check($code) 
  { 
    if(trim($_SESSION[$prefix.'verifycode']) == trim($code)) { 
      return true; 
    } else { 
      return false; 
    } 
  } 
} 

以上這篇PHP生成加減算法方式的驗(yàn)證碼實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP開發(fā)中常用的十個(gè)代碼樣例

    PHP開發(fā)中常用的十個(gè)代碼樣例

    本文是小編日常收集整理的有關(guān)php開發(fā)中常用的十個(gè)代碼樣例,非常不錯(cuò),特此分享供大家參考
    2016-02-02
  • Laravel Validator自定義錯(cuò)誤返回提示消息并在前端展示

    Laravel Validator自定義錯(cuò)誤返回提示消息并在前端展示

    這篇文章主要給大家介紹了關(guān)于Laravel Validator自定義錯(cuò)誤返回提示消息并在前端展示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • thinkphp5.1框架容器與依賴注入實(shí)例分析

    thinkphp5.1框架容器與依賴注入實(shí)例分析

    這篇文章主要介紹了thinkphp5.1框架容器與依賴注入,結(jié)合實(shí)例形式分析了thinkPHP5.1容器與依賴注入相關(guān)原理與使用技巧,需要的朋友可以參考下
    2019-07-07
  • 用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn)

    用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn)

    這篇文章主要介紹了用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • thinkphp中AJAX返回ajaxReturn()方法分析

    thinkphp中AJAX返回ajaxReturn()方法分析

    這篇文章主要介紹了thinkphp中AJAX返回ajaxReturn()方法,結(jié)合實(shí)例形式分析了thinkPHP中ajax操作的功能、數(shù)據(jù)返回格式以及ajaxReturn方法的簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2016-12-12
  • 用PHP實(shí)現(xiàn)的生成靜態(tài)HTML速度快類庫(kù)

    用PHP實(shí)現(xiàn)的生成靜態(tài)HTML速度快類庫(kù)

    用PHP實(shí)現(xiàn)的生成靜態(tài)HTML速度快類庫(kù)...
    2007-03-03
  • php實(shí)現(xiàn)圖片縮略圖的方法

    php實(shí)現(xiàn)圖片縮略圖的方法

    本文使用php實(shí)現(xiàn)的圖片縮略圖,支持jpg,jpeg,gif,png,bmp圖片格式,支持按原圖片的比例進(jìn)行縮放,可以選擇在圖片縮放的過程中是否需要對(duì)圖片進(jìn)行裁切,加入了圖片質(zhì)量控制,可以實(shí)現(xiàn)縮略圖片質(zhì)量最高化,需要的朋友可以參考下本段代碼
    2016-03-03
  • ThinkPHP 5.x遠(yuǎn)程命令執(zhí)行漏洞復(fù)現(xiàn)

    ThinkPHP 5.x遠(yuǎn)程命令執(zhí)行漏洞復(fù)現(xiàn)

    這篇文章主要介紹了ThinkPHP 5.x遠(yuǎn)程命令執(zhí)行漏洞復(fù)現(xiàn)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Yii2.0高級(jí)框架數(shù)據(jù)庫(kù)增刪改查的一些操作

    Yii2.0高級(jí)框架數(shù)據(jù)庫(kù)增刪改查的一些操作

    yii2.0框架是PHP開發(fā)的一個(gè)比較高效率的框架,集合了作者的大量心血,下面通過用戶為例給大家詳解yii2.0高級(jí)框架數(shù)據(jù)庫(kù)增刪改查的一些操作
    2015-11-11
  • PHP生成Gif圖片驗(yàn)證碼

    PHP生成Gif圖片驗(yàn)證碼

    驗(yàn)證碼在好多地方都要用到,這里提供一個(gè)新開發(fā)的安全驗(yàn)證碼類,支持生成Gif圖片驗(yàn)證碼(帶噪點(diǎn),干擾線,網(wǎng)格,隨機(jī)色背景,隨機(jī)自定義字體,傾斜,Gif動(dòng)畫)。從中還可以學(xué)到如何用PHP生成Gif圖片的方法。
    2013-10-10

最新評(píng)論

三门峡市| 阜城县| 新巴尔虎左旗| 诸暨市| 开原市| 丹寨县| 英德市| 恭城| 翁源县| 枝江市| 措美县| 邹城市| 北票市| 汤阴县| 阿尔山市| 来凤县| 清新县| 白水县| 保定市| 桃园市| 宣化县| 景东| 陈巴尔虎旗| 丰宁| 庐江县| 沾化县| 扶沟县| 承德市| 海晏县| 江油市| 蕲春县| 塘沽区| 沙坪坝区| 黔西县| 南阳市| 博湖县| 山丹县| 郸城县| 景宁| 常宁市| 合山市|