Heim > Backend-Entwicklung > PHP-Tutorial > Laravel5.2 verwendet Captcha, um Bestätigungscodes zur Implementierung der Anmeldung zu generieren

Laravel5.2 verwendet Captcha, um Bestätigungscodes zur Implementierung der Anmeldung zu generieren

不言
Freigeben: 2023-03-31 22:06:02
Original
1796 Leute haben es durchsucht

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();
}
Nach dem Login kopieren

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">
Nach dem Login kopieren

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,
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Über die Verwendung des Datums- und Zeitverarbeitungspakets Carbon in Laravel


Über PHP Artisan Migrate Under laravel 5.1 Verwendung


So lösen Sie das Problem, dass das Protokoll nicht in Laravel geschrieben werden kann


Das obige ist der detaillierte Inhalt vonLaravel5.2 verwendet Captcha, um Bestätigungscodes zur Implementierung der Anmeldung zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage