ホームページ >よくある問題 >トークンエラーとはどういう意味ですか?

トークンエラーとはどういう意味ですか?

(*-*)浩
(*-*)浩オリジナル
2020-01-07 14:19:5149145ブラウズ

トークンエラーとはどういう意味ですか?

#トークンエラーとはトークンエラーのことです。

#トークンはサーバー側で生成されます。フロントエンドがユーザー名/パスワードを使用してサーバーに認証を要求し、サーバー認証が成功した場合、サーバーはフロントエンドにトークンを返します。フロントエンドはリクエストするたびに法的地位を証明するトークンを提供できます (推奨学習: PHPSTORM )

# どのような問題を解決できますか?

トークンはアプリケーションによって完全に管理されるため、同一生成元ポリシーを回避できます

トークンは CSRF 攻撃を回避できます (http://dwz.cn/7joLzx)

トークンはステートレスにすることができ、複数のサービス間で共有できます。

トークンはサーバー側で生成されます。フロントエンドがユーザー名/パスワードを使用してサーバーに認証を要求し、サーバー認証が成功した場合、サーバーはフロントエンドにトークンを返します。

フロントエンドは、その法的ステータスを証明するために、リクエストごとにトークンを持ち込むことができます。このトークンがサーバー側で永続化される (データベースに保存されるなど) 場合、それは永続的な ID トークンになります。

セキュリティの観点から見ても、失効の観点から見ても、トークンには有効期間が必要です。

では、適切な有効期間はどれくらいでしょうか?

システムのセキュリティ ニーズに応じて、この時間はできるだけ短くする必要があるとしか言えませんが、ばかばかしいほど短くすることはできません。携帯電話の自動画面オフ時間を想像してみてください。 10秒間何も操作しないと自動的に画面がオフになりますが、一度画面をオフにして再度オンにする場合は、パスワードの入力が必要になります。

効果がないと思われる場合は、自分で試してみて、設定できる最短の時間を設定してください。1 週間だけ続けてください (人によっては適応できる可能性も否定できません)結局のところ、携帯電話メーカーもユーザー エクスペリエンス調査を行っています)。

その後、新たな問題が発生します。通常の操作中にユーザーのトークンの有効期限が切れて、ユーザーが再度ログインする必要がある場合、ユーザー エクスペリエンスは非常に悪くなると思いますか?

ユーザーが操作中にトークンが無効であることを感じさせないという問題を解決するには、ユーザーが操作するたびにトークンの有効期限が切れるトークンの状態をサーバー側に保存することが考えられます。時間が自動的に更新されます (延期されます) - セッションが使用されます この戦略は、ユーザーのログインを維持するために使用されます。

しかし、まだ問題があり、フロントエンドとバックエンドが分離されており、単一ページのアプリの場合、1 秒あたりに多くのリクエストが開始される可能性があり、そのたびに有効期限を更新すると、非常に高いコスト。

トークンの有効期限がデータベースまたはファイルに保持される場合、コストはさらに大きくなります。したがって、効率を向上させて消費量を削減するために、トークンは通常、有効期限が切れるとキャッシュまたはメモリに保存されます。

以上がトークンエラーとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。