要件の紹介
まず、スキャン コード ログインとは何かについてご紹介します。現在、ほとんどの学生は QQ、タオバオ、Tmall、その他のソフトウェアを携帯電話にインストールしています。これらのアプリを開発する会社には、対応する Web サイトがあります。ユーザーがウェブサイトを利用する際に、ログインをより便利かつ安全にするため。これらの企業は、携帯電話をスキャンすることでログインできるサービスを提供しています。 Web ページにログインしたときの効果は次のとおりです:


原理の説明
Web ページ サーバー
次のステップは、このサービスの詳細な実装です。ユーザーがWebサイトのログインページを開くと、ブラウザサーバーにログイン用QRコードの取得リクエストが送信されます。
サーバーはリクエストを受信した後、ランダムに uuid を生成し、この ID をキー値として Redis サーバーに保存し、有効期限を設定します。有効期限が切れた後は、ユーザーのログイン QR コードを更新する必要があります。再取得した。同時に、このキー値と会社の検証文字列を組み合わせ、QR コード生成インターフェイスを介して QR コード イメージを生成します (QR コード生成。インターネット上には既製のインターフェイスやソース コードが多数ありますが、これらはここで紹介します。) 次に、QR コード画像と uuid をユーザーのブラウザに返します。
ブラウザは定期的にサーバーにリクエストを送信し、ログインが成功したかどうかを確認します。これらのリクエストには QR コードと UUID 情報が含まれます。リクエストには、現在のページの識別子として uuid が含まれます。サーバーはキーとして UUID を Redis に保存するだけなので、ユーザーの ID 情報はどこから来るのか? 混乱する学生もいるかもしれません。
ここには実際にユーザー ID 情報が存在します。この ID 情報はモバイル サーバーによって Redis に保存されます。
モバイル サーバー
ブラウザは QR コードを取得すると、それを Web ページに表示し、ユーザーに「携帯電話を取り出し、スキャンを開いてログインしてください」と表示します。ユーザーは携帯電話を取り出し、QR コードをスキャンして認証情報と UUID を取得します (QR コードをスキャンして文字列を取得する機能は、インターネット上にも多くのデモがあるため、ここでは詳しく紹介しません) 。
モバイル端末はすでにログインしているため、モバイル端末サーバーにアクセスすると、パラメーターにはユーザーのトークンが含まれ、モバイル端末サーバーはそれをユーザーの userId に解析できます (ここでは、値はトークン) 携帯電話でユーザー ID を直接送信するのではなく、セキュリティのためです。ユーザー ID を直接送信すると傍受され、変更される可能性があります。トークンは暗号化されているため、変更のリスクははるかに小さくなります)。
携帯電話は、解析されたデータとユーザー トークンをパラメータとして使用して、検証ログイン要求をサーバーに送信します (ここでのサーバーはモバイル サーバーであり、携帯電話サーバーは Web サーバーと同じサーバーではありません)。サーバ)。リクエストを受信したサーバーは、まずパラメータ内の検証情報を比較して、ユーザーがログインを要求したインターフェイスであるかどうかを確認します。その場合は、携帯電話に確認メッセージを返信します。
携帯電話が応答を受信すると、ユーザーの誤操作を回避し、ログイン エクスペリエンスを向上させるために、ログイン確認ボックスが表示される必要があります。ユーザがログイン操作を確認した後、携帯電話は再度リクエストを送信する。サーバーは uuId と userId を取得した後、uuid をキーとして、ユーザーの userid をキーと値のペアの値として redis に保存します。
ログイン成功
その後、ブラウザが再度リクエストを送信すると、ブラウザ側のサーバーはユーザー ID を取得し、ログイン メソッドを呼び出し、それをブラウザ側のトークンに送り込むことができます。ブラウザが再度リクエストを送信すると、ユーザー情報がブラウザに返され、ログインが成功します。携帯電話とブラウザ上のユーザー情報は正確に同じではない可能性があるため、ユーザー情報を直接保存するのではなく、ユーザー ID を保存することを選択します。
ログインの概略図は次のとおりです:

以上がRedis でコード スキャン ログインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Redisは、データをキャッシュし、分散ロックとデータの持続性を実装することにより、アプリケーションのパフォーマンスとスケーラビリティを向上させます。 1)キャッシュデータ:Redisを使用して頻繁にアクセスしたデータをキャッシュして、データアクセス速度を向上させます。 2)分散ロック:Redisを使用して分散ロックを実装して、分散環境での操作のセキュリティを確保します。 3)データの持続性:データの損失を防ぐために、RDBおよびAOFメカニズムを介してデータセキュリティを確保します。

Redisのデータモデルと構造には、5つの主要なタイプが含まれます。1。文字列:テキストまたはバイナリデータの保存に使用され、原子操作をサポートします。 2。リスト:キューとスタックに適した注文された要素コレクション。 3.セット:順序付けられていない一意の要素セット、セット操作をサポートします。 4。注文セット(sortedset):ランキングに適したスコアを持つ一意の要素セット。 5。ハッシュテーブル(ハッシュ):オブジェクトの保存に適したキー価値ペアのコレクション。

Redisのデータベースメソッドには、メモリ内データベースとキー価値ストレージが含まれます。 1)Redisはデータをメモリに保存し、速く読み取り、書き込みます。 2)キー価値のペアを使用してデータを保存し、キャッシュやNOSQLデータベースに適したリスト、コレクション、ハッシュテーブル、注文コレクションなどの複雑なデータ構造をサポートします。

Redisは、高速パフォーマンス、リッチデータ構造、高可用性とスケーラビリティ、持続性能力、幅広いエコシステムサポートを提供するため、強力なデータベースソリューションです。 1)非常に速いパフォーマンス:Redisのデータはメモリに保存され、非常に速い読み取り速度と書き込み速度が高く、高い並行性と低レイテンシアプリケーションに適しています。 2)豊富なデータ構造:さまざまなシナリオに適したリスト、コレクションなど、複数のデータ型をサポートします。 3)高可用性とスケーラビリティ:マスタースレーブの複製とクラスターモードをサポートして、高可用性と水平スケーラビリティを実現します。 4)持続性とデータセキュリティ:データの整合性と信頼性を確保するために、データの持続性がRDBとAOFを通じて達成されます。 5)幅広い生態系とコミュニティのサポート:巨大なエコシステムとアクティブなコミュニティにより、

Redisの主な機能には、速度、柔軟性、豊富なデータ構造のサポートが含まれます。 1)速度:Redisはメモリ内データベースであり、読み取り操作はほとんど瞬間的で、キャッシュとセッション管理に適しています。 2)柔軟性:複雑なデータ処理に適した文字列、リスト、コレクションなど、複数のデータ構造をサポートします。 3)データ構造のサポート:さまざまなビジネスニーズに適した文字列、リスト、コレクション、ハッシュテーブルなどを提供します。

Redisのコア関数は、高性能のメモリ内データストレージおよび処理システムです。 1)高速データアクセス:Redisはデータをメモリに保存し、マイクロ秒レベルの読み取り速度と書き込み速度を提供します。 2)豊富なデータ構造:文字列、リスト、コレクションなどをサポートし、さまざまなアプリケーションシナリオに適応します。 3)永続性:RDBとAOFを介してディスクにデータを持続します。 4)サブスクリプションを公開:メッセージキューまたはリアルタイム通信システムで使用できます。

Redisは、次のようなさまざまなデータ構造をサポートしています。1。文字列、単一価値データの保存に適しています。 2。キューやスタックに適したリスト。 3.非重複データの保存に使用されるセット。 4。ランキングリストと優先キューに適した注文セット。 5。オブジェクトまたは構造化されたデータの保存に適したハッシュテーブル。

Redisカウンターは、Redisキー価値ペアストレージを使用して、カウンターキーの作成、カウントの増加、カウントの減少、カウントのリセット、およびカウントの取得など、カウント操作を実装するメカニズムです。 Redisカウンターの利点には、高速速度、高い並行性、耐久性、シンプルさと使いやすさが含まれます。ユーザーアクセスカウント、リアルタイムメトリック追跡、ゲームのスコアとランキング、注文処理などのシナリオで使用できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

Dreamweaver Mac版
ビジュアル Web 開発ツール
