私の会社では多くのコンピュータソフトウェアを作成していますが、1つの問題はログインタイムアウトです。
一部の開発者は、セキュリティのためにそれらを短くしたいと考えていますが、ほとんどのユーザーはそれを無限にしたいですか?ログインタイムアウトがない理由はありますか?短すぎますか?
タイムアウトの長さは、データの機密性とアプリケーションのセキュリティに部分的に依存しています。
銀行サイトなどの場合、ユーザーがログオフしなかった場合に誰かがアカウントにアクセスする可能性がほとんどないように、タイムアウトは非常に短い必要があります。
Facebookのようなものの場合、タイムアウトは長くなる可能性があります。ただし、誰かがアクセスできる機密情報がまだあるため、タイムアウトが発生する可能性はあると思います。
短すぎますか? -ユーザーがタイムアウト内に最も一般的なアクションを完了できない場合、それは短すぎます。たとえば、銀行取引明細書を確認している場合、トランザクションをマークオフできるように、数分間データを表示する必要があります。これより短いと、ページを更新する必要があり、場所を失う可能性があります。
アプリケーションでは、一般的なアクティビティの時間を計り、それよりも少し長くタイムアウトする必要があります。
ログインタイムアウトの正当性は、アプリケーションのセキュリティレベルとユーザーがアプリを使用する方法によって異なります。アプリが財務/機密データを処理する場合、ログインタイムアウトは(論理的に)短くする必要があります。 3-5分。
アプリがCMSの場合は、タイムアウトを長くします。約をお勧めします45〜60分。これは、頻繁に表示されるWYSIWYGエディター画面に30分間いる場合、コンテンツ管理者がコンテンツやコンテンツのフォーマットを失うのを防ぐためです。
タイムアウトなしの正当化に関して;ログインタイムアウトのないサイトが1つあります。これは、常にパスワードを忘れてしまう営業担当者向けです。これはクライアントが必要とする機能であり、私の通常のベストプラクティスではありません。誰もが特定のニーズとビジネス目標を持っています。
私がここで最も強く推奨するのは、聴衆を知ることです。ログインタイムアウトを設定する前に、ユーザーが何をしているのか、またサイトの1ページにどれだけの時間がいるのかを確認してください。
Webアプリでは(参照している場合)、サーバーからの応答を受信するたびにタイムアウトがリセットされます。これにより、ユーザーが新しい要求を行わない限り、ユーザーがサイトを使用している場合でも、データの読み取り、監視、コンテンツの書き込みなどを行っている場合でも、ログアウトする可能性があります。
マウス/キーボード/スクロールイベントを介してユーザーアクティビティを検出し、タイムアウトを長く維持するためにaxリクエストをx分ごとにトリガーすることを検討してください。これにより、タイムアウトを短く設定することもできるため、ユーザーが最終的にコンピューターを離れたときに、ログアウトが速くなります。 (セキュリティが懸念される場合)
タイムアウト後にサーバーへのリクエストがあった場合の対処方法も考慮してください。リクエストを拒否したり、ページをリダイレクトしたりしないでください。おそらく、再度ログインできるようにするためのページはめ込みポップアップですが、セッションがタイムアウトした場合は、ユーザーストーリーを慎重に検討してください。
タイムアウトプロセスを適切に処理すると、タイムアウトを減らすことができます。これは、セキュリティにとって好ましいことです。ユーザーがページの読み取りや入力に多くの時間を費やすと予想される場合は、タイムアウトを長くしてください。
したがって、ユーザーを考慮し、タイムアウトのストーリーを考慮してください。