Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel5.2 verwendet Captcha, um Bestätigungscodes für die Anmeldung zu generieren

Laravel5.2 verwendet Captcha, um Bestätigungscodes für die Anmeldung zu generieren

jacklove
jackloveOriginal
2018-07-03 17:57:051839Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von Captcha zum Generieren von Bestätigungscodes (Sitzungsgrube) durch Laravel5.2 vorgestellt. Also habe ich ein wenig recherchiert. (Ich hätte fast vergessen, wie man Laravel benutzt)

Zunächst einmal ist es nicht nötig, auf Details zur Installation von Laravel einzugehen. Meine Version ist 5.2.45 (Hinweis: Middleware für Laravel 5.2.6 und höher kann sein automatisch geladen wird), ist dies immer noch sehr wichtig.

Nachdem die Installation abgeschlossen ist, müssen Sie Composer verwenden, um Ihr Captcha zu laden. Die spezifische Methode besteht darin, die Codezeile „gregwar/captcha“: „1.*“ zum erforderlichen Array in Ihrem Composer hinzuzufügen .json . Verwenden Sie dann cmd im Stammverzeichnis Ihres Projekts, um die Composer-Update-Codezeile auszuführen. In diesem Fall auch dann, wenn die Bibliothek oder Middleware installiert ist. Dann können Sie Ihren Code frei schreiben.

php: (Ich werde unten nicht zu sehr auf die spezifische Route eingehen, schreiben Sie einfach den Schlüsselcode)

public function captcha($tmp)
{  //生成验证码图片的Builder对象,配置相应属性
  $builder = new CaptchaBuilder;
  //可以设置图片宽高及字体
  $builder->build($width = 100, $height = 40, $font = null);
  //获取验证码的内容
  $phrase = $builder->getPhrase();
  //把内容存入session
  Session::flash('milkcaptcha', $phrase);
  //生成图片
  header("Cache-Control: no-cache, must-revalidate");
  header('Content-Type: image/jpeg');
  $builder->output();
}

Blade Vorlage Aufruf:

<img src="{{url(&#39;/captcha/1&#39;)}}" alt="" onclick="this.src=&#39;{{url(&#39;/captcha&#39;)}}/&#39;+Math.random()" width="100" height="40" border="0">

Wenn du denkst, das sei das Ende, dann bist du wirklich zu yang zu einfach. Bei der Überprüfung werden Sie feststellen, dass alles falsch ist.

Ist es nicht so sauer und erfrischend? Da in Laravel5.2 nicht alle Sitzungen Controller und Methoden übergreifen können, wird die Sitzung standardmäßig neu generiert. Keine Sorge, die nächste Methode ist die Lösung. Derzeit kenne ich zwei Lösungen. Eine davon besteht darin, selbst eine Middleware zu erstellen und alle Sitzungen darin zu speichern. Als Nächstes werde ich eine einfache Methode vorstellen: Fügen Sie in Ihrer laravelappHttpKernel.php den folgenden Code hinzu in der Datei:

\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Cookie\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,

Dann können Sie die Sitzung beruhigt nutzen. Dies ist der Weg, um den Verifizierungscode unten zu überprüfen,

public function login_data()
{
  $userInput = \Request::get(&#39;captcha&#39;);
  if (Session::get(&#39;milkcaptcha&#39;) == $userInput) {
    //用户输入验证码正确,验证你自己密码用户名
    echo 1;
  } else {
    //用户输入验证码错误
    echo 2;
  }
}

Abschließend muss ich mich über die offizielle Dokumentation von Laravel beschweren, die nicht im Voraus erklärt wird Ich schätze, ich mache mir Sorgen, dass die Entwickler mit der Entwicklung zu zufrieden sind.

ZusammenfassungDas Obige ist, was der Herausgeber Ihnen in Laravel5.2 vorgestellt hat, indem er Captcha verwendet, um Bestätigungscodes zu generieren, um eine Anmeldung zu erreichen (Sitzungsgrube). ) Ich hoffe, es wird Ihnen hilfreich sein, wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Artikel, die Sie interessieren könnten:

Detaillierte Erläuterung der Bucket-Sortierung in der PHP-Sortieralgorithmus-Reihe


Ausführliche Erklärung der Zusammenführungssortierung in der PHP-Sortieralgorithmus-Reihe_php-Fähigkeiten


Detaillierte Erklärung der Direktauswahlsortierung in der PHP-Sortieralgorithmus-Reihe


Das obige ist der detaillierte Inhalt vonLaravel5.2 verwendet Captcha, um Bestätigungscodes für die Anmeldung zu generieren. 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