質問: Laravelを使って会員制出欠管理システムを制作しているのですが、最近利用者から 「ずっとログインしたままにできないのか?」 「ログインした状態をもっと長くしてほしい」 という要望がありました。 現在ログインしてからタイムアウトするまでの時間はデフォルトのまま'120分'となっていますが、初心者である私には、この時間が平均的なのかどうかもわからない状態です。 要点としては ・セキュリティの問題 ・利便性の問題 ・メモリの問題 が考えられ、 ■セッション保持時間が長くなると ・セキュリティの問題 同じ端末で複数の利用者がいる場合に危険 ・利便性の問題 利用者は毎回ログインしなくて良い為、操作性は上がる ・メモリの問題 メモリの圧迫が大きくなる ⇒ 会員数が多くなるほど肥大化 ■セッション保持時間が短くなると ・セキュリティの問題 利用後にログアウトをしなくても、しばらく使っていないと勝手にログアウトするから安心 ・利便性の問題 システムに訪れる度にログインを要求され、手間がかかる(現状) ・メモリの問題 メモリの利用量は少なくて済む 上記のような知識しかないのですが、設定する時間について何かアドバイスをいただけないでしょうか? 例えばセッションを1週間保持するとすれば、考え得る問題(プログラム的にも、現実の環境でも)は何があるでしょうか? よろしくお願いします。
回答: セッション時間は正直、ケースバイケースです。 > > 「ずっとログインしたままにできないのか?」 > > 「ログインした状態をもっと長くしてほしい」 > > > ログイン画面に「ログイン情報を保存する」のようなチェックボックス等実装してみては如何でしょうか。 情報を保存していいブラウザか否か等をお客様に委ねる事ができると思います。