Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel-Verifizierungscode-Bibliothek

Laravel-Verifizierungscode-Bibliothek

韦小宝
韦小宝Original
2017-11-24 09:19:221446Durchsuche

Es gibt viele Bild-Bestätigungscodes-Bibliotheken in Laravel. In diesem Artikel wird eine davon Laravel vorgestellt: gregwar/captcha. Diese Bibliothek ist relativ einfach. , wird häufiger in Laravel verwendet. Lassen Sie uns die Verwendungsdetails vorstellen:

Fügen Sie zunächst die folgende Konfiguration zu Composer.json hinzu:

"require": {
        ...
        "gregwar/captcha": "1.*"
    },

Dann sind die üblichen Befehle fertig :

composer update

Dann können Sie es normal verwenden. Es gibt viele Möglichkeiten, es entsprechend den spezifischen Entwicklungsanforderungen zu verwenden.

Sie können das Bild des Bestätigungscodes als Datei speichern:

<?php$builder->save(&#39;out.jpg&#39;);

Sie können das Bild direkt auf der Webseite ausgeben:

<?php
header(&#39;Content-type: image/jpeg&#39;);
$builder->output();

Sie können Inline-Bilder generieren:

<img src="<?php echo $builder->inline(); ?>" />

Im Folgenden wird eine der Verwendungsmethoden veranschaulicht, mit der Bilder direkt auf der Webseite ausgegeben werden.

Definieren Sie einen Controller:

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

//Referenzieren Sie den entsprechenden Namespace

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash(&#39;milkcaptcha&#39;, $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header(&#39;Content-Type: image/jpeg&#39;);
       $builder->output();
   }
}

Unten können wir den entsprechenden Router festlegen greift auf dieses Bestätigungscode-Bild zu und ändert router.php:

Route::get(&#39;kit/captcha/{tmp}&#39;, &#39;KitController@captcha&#39;);

Jetzt können Sie über die spezifische URL auf dieses Bild zugreifen und es sehen.

Bestätigungscode

Es ist relativ einfach, in das Formular einzutragen. Werfen Sie einfach einen Blick darauf:

<input type="text" name="captcha" class="form-control" style="width: 300px;">
<a onclick="javascript:re_captcha();" >
  <img src="{{ URL(&#39;kit/captcha/1&#39;) }}"  alt="验证码" title="刷新图片" 
       width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"/>
</a>
<script>  
  function re_captcha() {
    $url = "{{ URL(&#39;kit/captcha&#39;) }}";
        $url = $url + "/" + Math.random();
        document.getElementById(&#39;c2c98f0de5a04167a9e427d883690ff6&#39;).src=$url;
  }
</script>

Überprüfen Sie abschließend den entsprechenden Bestätigungscode auf der Formulareinreichungsseite , und die Bibliothek ist auch Wir bieten entsprechende Methoden:

$userInput = $request->get(&#39;captcha&#39;);
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return &#39;您输入验证码正确&#39;;
} else {
    //用户输入验证码错误
    return &#39;您输入验证码错误&#39;;
}

An diesem Punkt ist der Bestätigungscode abgeschlossen. Das Obige ist der Verwendungsprozess von Laravels Verifizierungscode-Bibliothek Gregwar/Captcha. Wenn Sie interessiert sind, besuchen Sie die PHP-chinesische Website , um nach mehr zu suchen~

Verwandte Empfehlungen:

Laravel-Tutorial zur Verwendung der Mongodb-Datenbank

Laravel entwickelt die Funktion zum Senden von SMS-Bestätigungscodes in

Anwendungsbeispiele für die Modellvalidierung in Laravel


Das obige ist der detaillierte Inhalt vonLaravel-Verifizierungscode-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn