PHP でトークンを使用する方法: 1. クライアント ユーザーは、ユーザー名とパスワードを入力してログインし、トークンを要求します。 2. JWT 仕様を使用してトークンを生成します。 3. トークンの適時性を確認します。トークン; 4. 、クライアントはトークンを使用してデータを要求します。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
トークン PHP の使用方法?
php トークンの生成と使用
1. ログインにトークンを使用する理由
フロント エンドとバック エンドの分離または複数のサポートWeb アプリケーションの場合、元の Cookie またはセッションの使用に大きな問題が発生します。
Cookie とセッション認証は、認証のために同じプライマリ ドメイン名の下にある必要があります (現在、問題を解決するためにセッションを Redis に保存できます) 。
2. 解決策
oauth2 と jwt
jwt: はセキュリティ標準です。基本的な考え方は、ユーザーが認証サーバーにユーザー名とパスワードを提供し、サーバーがユーザーが送信した情報の正当性を検証し、検証が成功するとトークン (トークン) が生成されて返されるというものです
OAuth2: 安全な認証フレームワークです。システム内のさまざまなロール、ユーザー、サービス フロントエンド アプリケーション (API など)、クライアント (Web サイトやモバイル APP など) の間で相互認証を実現する方法について詳しく説明します。
(JWT、この JSON Web トークンはここで認証に使用されます)
3. 生成方法
ヘッダー: 暗号化タイプ
説明: メッセージの内容
key: 暗号化に使用されるランダム コード
上記の 3 つの部分を使用して接続します。 hs256 を使用して暗号化してトークンを生成します
4. 詳細な生成方法
1)ヘッダーは通常、トークンのタイプ (つまり、JWT) の 2 つの部分で構成されます。 ) と使用される暗号化アルゴリズム (SHA256 や RSA など)2)。声明。宣言はエンティティに関するものです。{ "alg": "HS256", "typ": "JWT" }その後、この json は Base64Url でエンコードされ、最初の部分になります
3)。暗号化キーを使用します4)。署名するには、最初のエンコードされた部分、2 番目のエンコードされた部分、そしてキーを使用する必要があります鍵。最初の部分の暗号化アルゴリズムを使用して署名します。{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }(追記: この情報は改ざんから保護されていますが、誰でも読み取ることができます。重要な情報は暗号化されていない限り送信しないでください。中に入れます)
ペイロードは Base64Url でエンコードされ、2 番目の部分になります
5. トークン保存場所HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )(PHP は暗号化に crypt メソッドを使用します。注: SHA-256 は改ざん防止に使用され、AES-256 は暗号化に使用されます。2 つの概念は異なります)
この署名は、メッセージが改ざんされているかどうかを確認するために使用されます。
通常は、ベアラー モードを使用して、リクエスト ヘッダーの Authorization フィールドに JWT (Authorization: Bearer) を追加する必要があります (もちろん、JWT をリクエスト ヘッダーの後にパラメーターとして渡すなど、どこにでも配置することもできます) URL (クライアントが認識できるものであれば可能ですが、JWT は標準なので、標準に従う方がよいでしょう)
推奨学習: "PHP ビデオ チュートリアル
"6. 使用方法- クライアント ユーザーはユーザー名とパスワードを入力してログインし、トークンを要求します
- サーバーは要求を受信した後、JWT 仕様を使用して次のことを行います。トークンを生成し、クライアントに返します。
- クライアント トークンを受信したら、復号化し、トークンの適時性 (トークンの有効期限) を確認し、保存します。
- クライアントトークンを使用してデータをリクエストします
- サーバーはトークンを受信して復号化した後、ユーザーの ID を検証し、適時性を検証してから、ユーザーを検証します
### を使用することをお勧めします。1. 无法作废已颁布的令牌(对token刷新使用期限) 2. 不易应对过期数据(支持 token 失效)したがって、トークンを使用する場合、そのトークンがキャプチャされると、偽造される可能性があります。したがって、セキュリティが比較的高い場合は、oauth2
以上がトークンPHPの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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