#トークンエラーとはトークンエラーのことです。
#トークンはサーバー側で生成されます。フロントエンドがユーザー名/パスワードを使用してサーバーに認証を要求し、サーバー認証が成功した場合、サーバーはフロントエンドにトークンを返します。フロントエンドはリクエストするたびに法的地位を証明するトークンを提供できます (推奨学習: PHPSTORM )
# どのような問題を解決できますか?トークンはアプリケーションによって完全に管理されるため、同一生成元ポリシーを回避できます
トークンは CSRF 攻撃を回避できます (http://dwz.cn/7joLzx)
トークンはステートレスにすることができ、複数のサービス間で共有できます。
トークンはサーバー側で生成されます。フロントエンドがユーザー名/パスワードを使用してサーバーに認証を要求し、サーバー認証が成功した場合、サーバーはフロントエンドにトークンを返します。
フロントエンドは、その法的ステータスを証明するために、リクエストごとにトークンを持ち込むことができます。このトークンがサーバー側で永続化される (データベースに保存されるなど) 場合、それは永続的な ID トークンになります。
セキュリティの観点から見ても、失効の観点から見ても、トークンには有効期間が必要です。
では、適切な有効期間はどれくらいでしょうか?システムのセキュリティ ニーズに応じて、この時間はできるだけ短くする必要があるとしか言えませんが、ばかばかしいほど短くすることはできません。携帯電話の自動画面オフ時間を想像してみてください。 10秒間何も操作しないと自動的に画面がオフになりますが、一度画面をオフにして再度オンにする場合は、パスワードの入力が必要になります。
効果がないと思われる場合は、自分で試してみて、設定できる最短の時間を設定してください。1 週間だけ続けてください (人によっては適応できる可能性も否定できません)結局のところ、携帯電話メーカーもユーザー エクスペリエンス調査を行っています)。
その後、新たな問題が発生します。通常の操作中にユーザーのトークンの有効期限が切れて、ユーザーが再度ログインする必要がある場合、ユーザー エクスペリエンスは非常に悪くなると思いますか?
ユーザーが操作中にトークンが無効であることを感じさせないという問題を解決するには、ユーザーが操作するたびにトークンの有効期限が切れるトークンの状態をサーバー側に保存することが考えられます。時間が自動的に更新されます (延期されます) - セッションが使用されます この戦略は、ユーザーのログインを維持するために使用されます。
しかし、まだ問題があり、フロントエンドとバックエンドが分離されており、単一ページのアプリの場合、1 秒あたりに多くのリクエストが開始される可能性があり、そのたびに有効期限を更新すると、非常に高いコスト。
トークンの有効期限がデータベースまたはファイルに保持される場合、コストはさらに大きくなります。したがって、効率を向上させて消費量を削減するために、トークンは通常、有効期限が切れるとキャッシュまたはメモリに保存されます。
以上がトークンエラーとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。