Laravel5.2は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('/captcha/1')}}" alt="" onclick="this.src='{{url('/captcha')}}/'+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+captchapng+jsonwebtoken を使用してログイン検証を完了する
captchapng を使用して Nodejs で画像検証コードを生成する例を共有する
以上がLaravel5.2はCaptchaを使用して認証コードを生成し、ログインメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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