ホームページ バックエンド開発 PHPチュートリアル ログイン認証の効率を向上するにはどうすればよいですか?

ログイン認証の効率を向上するにはどうすればよいですか?

Jun 13, 2016 pm 12:03 PM
cookie nbsp session token

ログイン認証の効率を上げる方法を教えてください

この投稿の最終編集者は sky94132003 2014-07-25 21:02:14 最近構築したシステム

ログイン$_COOKIE を使用して行われます。

は識別子 ($identifier) と検証子 ($token) を自動的に生成し、それを
<br />$_COOKIE["auth"] = $identifier . ":" . $token ;<br />有做加密,在此先不提加密的事<br />
ログイン後にコピー


に保存します。
識別子 ($identifier) とバリデーター ($token) をそれぞれ SQL の 2 つのフィールドに保存します

と関数が作成され、操作が構成ファイルに導入されます

すべてのページが検証されるように

関数はおそらく

list($identifier, $token) =explode(':', $_COOKIE['auth']);以前に設定した $_COOKIE を取得します
識別子 ($identifier) と検証子 ($token)

次に、データベース内の 2 つの値を比較して、それらがまったく同じであるかどうかを確認します

それらが正しい場合は通常どおり動作し、等しくない場合は Clear
setcookie('auth', 'DELETED!', time()-1);


上記を行うことで、自動ログインの効果を得ることができます

効果と検証は正常に使用できますが、問題は、当社のWebサイト...難易度検証機能はデータベースにクエリする必要があることですすべてのページに一度?

何か他の方法はありますか?

基本的に考えているのは...個別のタイムアウトフィールドを作成し、それが空の場合は定期的にクリアする必要がありますか?また支払いますか?


少し頭が混乱しています。アドバイスをお願いします。

-----解決策---------1. 検証は必要な場合にのみ行われます。ユーザー データを使用してシステム データを変更する
2. 拡張検証は異なるデータ ソースから取得する必要があります。識別子と検証子を同じ方法で渡すことは無意味であり、自己欺瞞的です。
3. 「誰かを蹴る」必要がある場合は、常にチェックする必要があります。これは、カスタム セッション ハンドラー

を使用して実現できます------解決策---------------------------- ---- Cookie を直接取得し、サーバーのキーを使用して復号化します。変更されている場合、サーバーのキーを使用して復号化することはできないため、検証は必要ありません。

の場合たとえば、uid と有効期限を保存する場合、解決後、uid 情報を直接クエリしてグローバル変数に保存できます。解決後に uid がない場合は、改ざんされていることを意味します。再度ログインする必要があります

-----解決策--- ------------------
引用:よろしくお願いします
1. トラフィックが多いのが問題です
2. 書くのが面倒なので書きたくないです。 SESSION を使用するには、自動ログインを行うには COOKIE のみを使用する必要があります。

1. ロードの問題については実際の経験がありませんが、セッション ファイルはハッシュです。 、正しいインデックスを持つユーザーテーブルはツリーであると思います。前者の方が高速であり、すべてのページをクエリする必要があるため、データベース接続が多すぎるようです
2. Cookie とセッションは連携します。 、セッションは現在のログインを担当し、次回の自動ログインのために Cookie が保存されます
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iOS 17 では、Apple はモバイル オペレーティング システムにいくつかの新しいプライバシーおよびセキュリティ機能を導入しました。その 1 つは、Safari のプライベート ブラウジング タブに対して 2 段階認証を要求する機能です。その仕組みとオフにする方法は次のとおりです。 iOS 17 または iPadOS 17 を実行している iPhone または iPad では、Safari でプライベート ブラウズ タブを開いていて、再度アクセスするためにセッションまたはアプリを終了する場合、Apple のブラウザでは Face ID/Touch ID 認証またはパスコードが必要になります。言い換えれば、ロックが解除されている iPhone または iPad を誰かが手に入れても、パスコードを知らなければプライバシーを閲覧することはできません。

Win10/11 デジタル アクティベーション スクリプト MAS バージョン 2.2 がデジタル アクティベーションを再サポート Win10/11 デジタル アクティベーション スクリプト MAS バージョン 2.2 がデジタル アクティベーションを再サポート Oct 16, 2023 am 08:13 AM

有名なアクティベーション スクリプト MAS2.2 バージョンでは、デジタル アクティベーションが再びサポートされています。このメソッドは @asdcorp とそのチームが考案したもので、MAS 作成者はそれを HWID2 と呼んでいます。 https://github.com/massgravel/Microsoft-Activation-Scripts から Gatherosstate.exe (オリジナルではなく、変更されたもの) をダウンロードし、パラメータを指定して実行し、AuthenticTicket.xml を生成します。まず元のメソッド: Gatherosstate.exePfn=xxxxxxx;DownlevelOriginalState=1 を確認し、次に最新のメソッド: Gatheros と比較します。

セッション失敗を解決する方法 セッション失敗を解決する方法 Oct 18, 2023 pm 05:19 PM

セッション障害は通常、セッションの有効期間の期限切れまたはサーバーのシャットダウンによって発生します。解決策: 1. セッションの有効期間を延長する; 2. 永続ストレージを使用する; 3. Cookie を使用する; 4. セッションを非同期的に更新する; 5. セッション管理ミドルウェアを使用する。

Cookie はどこに保存されますか? Cookie はどこに保存されますか? Dec 20, 2023 pm 03:07 PM

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

コンピューター上の Cookie はどこにありますか? コンピューター上の Cookie はどこにありますか? Dec 22, 2023 pm 03:46 PM

コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

PHP セッションのクロスドメイン問題の解決策 PHP セッションのクロスドメイン問題の解決策 Oct 12, 2023 pm 03:00 PM

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法

モバイル Cookie はどこにありますか? モバイル Cookie はどこにありますか? Dec 22, 2023 pm 03:40 PM

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

See all articles