ホームページ バックエンド開発 PHPチュートリアル Laravel5.2はCaptchaを使用して認証コードを生成し、ログインメソッドを実装します。

Laravel5.2はCaptchaを使用して認証コードを生成し、ログインメソッドを実装します。

Jan 05, 2018 am 10:14 AM
captcha 確認する

最近、友人からlaravelの認証コードログインについて手伝ってほしいと頼まれたので、少し調べてみました。この記事ではLaravel5.2のCaptchaを使った検証コード(セッションピット)の生成方法を中心に紹介しますので、必要な方は参考にしていただければ幸いです。

まず、laravel のインストールについて詳しく説明する必要はありません。これは非常に重要です。私のバージョンは 5.2.45 です (注: laravel 5.2.6 以降のミドルウェアは自動的にロードできます)。

インストールが完了したら、composer を使用してキャプチャをロードする必要があります。具体的な方法は、composer.json の require 配列にコード行「gregwar/captcha」:"1.*" を追加することです。次に、プロジェクトのルート ディレクトリで cmd を使用して、composer update コード行を実行します。この場合、ライブラリやミドルウェアがインストールされている場合でも同様です。そうすれば、自由にコードを書くことができます。

php: (以下の特定のルーティングについてはあまり詳しく説明しません。キーコードを書くだけです)

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();
}
ログイン後にコピー

Call of Blade テンプレート:

<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">
ログイン後にコピー

これだけだと思ったら、あなたも本当に陽気すぎます単純。確認すると、すべてが間違っていることがわかります。

酸味があって爽やかじゃないですか? laravel5.2 では、すべてのセッションがコントローラーとメソッドを横断できないため、セッションはデフォルトでミドルウェアを介して再生成されます。心配しないでください。次の方法で解決できます。現在、私が知っている解決策は 2 つあります。1 つはミドルウェアを自分で構築し、そこにすべてのセッションを保存する方法ですが、少し面倒です。次に、laravelappHttpKernel.php に次のコードを追加します。ファイル内:

\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,
ログイン後にコピー

これで、安心してセッションを使用できます。以下の検証コードを検証する方法です

public function login_data()
{
  $userInput = \Request::get('captcha');
  if (Session::get('milkcaptcha') == $userInput) {
    //用户输入验证码正确,验证你自己密码用户名
    echo 1;
  } else {
    //用户输入验证码错误
    echo 2;
  }
}
ログイン後にコピー

最後に、laravelの公式ドキュメントにはこのような落とし穴が事前に説明されていないので、開発者が開発がスムーズになりすぎるのではないかと心配しているからだと思います。

関連する推奨事項:

node.js+ca​​ptchapng+jsonwebtoken を使用してログイン検証を完了する

Captcha の例に関する 10 件のおすすめ記事

captchapng を使用して Nodejs で画像検証コードを生成する例を共有する

以上がLaravel5.2はCaptchaを使用して認証コードを生成し、ログインメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PDFの署名を検証する方法 PDFの署名を検証する方法 Feb 18, 2024 pm 05:33 PM

私たちは通常、政府やその他の機関から PDF ファイルを受け取りますが、中にはデジタル署名が付いているものもあります。署名を検証すると、SignatureValid メッセージと緑色のチェック マークが表示されます。署名が検証されない場合、有効性は不明です。署名の検証は重要です。PDF で署名を検証する方法を見てみましょう。 PDF 形式の署名を検証する方法 PDF 形式で署名を検証すると、署名の信頼性が高まり、文書が受け入れられる可能性が高くなります。次の方法で PDF ドキュメントの署名を検証できます。 Adobe Reader で PDF を開きます。 署名を右クリックし、「署名プロパティの表示」を選択します。 「署名者証明書の表示」ボタンをクリックします。 「信頼」タブから信頼できる証明書リストに署名を追加します。 「署名の検証」をクリックして検証を完了します。

WeChatの友人による認証を使用してブロックを解除する詳細な方法 WeChatの友人による認証を使用してブロックを解除する詳細な方法 Mar 25, 2024 pm 01:26 PM

1. WeChatを開いた後、検索アイコンをクリックし、WeChatチームと入力し、下のサービスをクリックして入力します。 2. 入力後、左下隅にあるセルフサービス ツール オプションをクリックします。 3. をクリックした後、上のオプションで、補助検証のブロック解除/再審査請求のオプションをクリックします。

正規表現を使用して IFSC コードを検証するにはどうすればよいですか? 正規表現を使用して IFSC コードを検証するにはどうすればよいですか? Aug 26, 2023 pm 10:17 PM

Indian Financial System Code の略称です。電子資金移動システムに参加しているインドの銀行支店は、特別な 11 文字のコードで識別されます。インド準備銀行は、インターネット取引でこのコードを使用して銀行間で資金を送金します。 IFSC コードは 2 つの部分に分かれています。銀行は最初の 4 文字で識別され、支店は最後の 6 文字で識別されます。 NEFT (National Electronic Funds Transfer)、RTGS (Real Time Gross Settlement)、および IMPS (Immediate Payment Service) は、IFSC コードを必要とする電子トランザクションの一部です。方法 正規表現を使用して IFSC コードを検証する一般的な方法は次のとおりです。 長さが正しいかどうかを確認します。最初の 4 文字を確認してください。 5 番目の文字を確認してください。Che

PHP 8 の新機能: 検証と署名の追加 PHP 8 の新機能: 検証と署名の追加 Mar 27, 2024 am 08:21 AM

PHP8 は PHP の最新バージョンであり、プログラマーにさらなる利便性と機能をもたらします。このバージョンはセキュリティとパフォーマンスに特に重点を置いており、注目すべき新機能の 1 つは検証および署名機能の追加です。この記事では、これらの新機能とその使用法について詳しく説明します。検証と署名は、コンピューター サイエンスにおける非常に重要なセキュリティ概念です。これらは、送信されるデータが完全で本物であることを確認するためによく使用されます。オンライン取引や機密情報を扱う場合、検証と署名がさらに重要になります。誰かがデータを改ざんできると、潜在的にデータが改ざんされる可能性があるためです。

golangで入力が大文字かどうかを確認する方法 golangで入力が大文字かどうかを確認する方法 Jun 24, 2023 am 09:06 AM

Golang は高性能で最新のプログラミング言語であり、日常の開発では文字列処理が頻繁に行われます。その中で、入力が大文字であるかどうかを検証することは共通の要件です。この記事ではGolangで入力が大文字かどうかを確認する方法を紹介します。方法 1: unicode パッケージを使用する Golang の unicode パッケージは、文字のエンコード タイプを決定する一連の関数を提供します。大文字の場合、対応するエンコード範囲は 65 ~ 90 (10 進数) であるため、unicode を使用できます。

golangで入力が全角文字かどうかを確認する方法 golangで入力が全角文字かどうかを確認する方法 Jun 25, 2023 pm 02:03 PM

golang では、入力が全角文字であるかどうかを検証するために Unicode エンコードとルーンの種類が必要です。 Unicode エンコードは、全角文字と半角文字を含む文字セット内の各文字に一意の数値コード ポイントを割り当てる文字エンコード標準です。ルーン タイプは、golang で Unicode 文字を表すために使用されるタイプです。最初のステップは、入力をルーン タイプのスライスに変換することです。これは、golang の []rune タイプを使用して変換できます。

ヒューマンマシン認証キャプチャを簡単にバイパスする方法 ヒューマンマシン認証キャプチャを簡単にバイパスする方法 May 11, 2023 pm 05:55 PM

今日共有された Writeup は、ターゲット Web サイトの脆弱性テスト中に作成者によって発見された、単純な人間とコンピュータの認証 (キャプチャ) バイパス方法です。キャプチャ バイパスは、Chrome デベロッパー ツールを使用してターゲット Web サイトのログイン ページ上の要素を編集するだけで実現されました。 。通常、Web サイトの登録ページ、ログインページ、パスワードリセットページには人間と機械の認証 (キャプチャ) が表示されますが、対象 Web サイトがログインページに配置したキャプチャの仕組みは次のとおりです。上の図からわかるように、ユーザーがキャプチャ検証メカニズムの「I'mnotarobot」にチェックを入れた後でのみ、ログイン ボタン (Sign-IN) が有効になり、ユーザーがクリックできるように表示されます。これに基づいて、Siを右クリックしました

golangで入力がすべて漢字かどうかを確認する方法 golangで入力がすべて漢字かどうかを確認する方法 Jun 24, 2023 am 09:16 AM

時代の発展に伴い、私たちはデータの検証、特にユーザー入力の検証にますます注目しています。言語検証においては、入力された文字がすべて漢字であるかどうかをいかに正確に判定するかが重要な課題となっている。 golang では、unicode パッケージと regexp パッケージを使用してこの要件を達成できます。 1. Unicode パッケージ Unicode パッケージは、Unicode に対する一連のコア サポートを提供します。このパッケージの関数を使用すると、文字が漢字かどうかを正確に判断できます。

See all articles