ページ表示から3分間でタイムアウトさせたいです。
ログイン画面→マイページ→タイムアウト→ログイン画面
のようにしたいです。
画面表示から〇分経過でセッション破棄して
別ページに遷移する方法が知りたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
gc_maxlifetime を3分に設定しても3分でタイムアウトになる「場合がある」だけで
むしろほとんどの場合タイムアウトになりません。
サーバのセッション情報を積極的にガベージコレクションしてくれないからです。
質問者さまご提示の様な仕様にしたい場合、
他の方がおっしゃっている通りsession変数を使って
自前でタイムアウト判定する必要があります。
投稿2018/09/05 09:00
総合スコア665
0
php.ini
って限定する必要もないと思いますが・・・
質問としてはログイン後、30秒放置するとログアウトするということでしょうか?
方法としてしてはいくらでもあると思いますが、
最終アクセス時間をアクセスの度にどこかに保存して(DB,クッキー、セッション)
次にアクセス来た際に30秒以上保存していた時間より過ぎていればログイン情報を消してログイン画面に戻せばいいと思います。
投稿2018/09/05 08:43
総合スコア307
0
ベストアンサー
【PHP超入門】Cookieとセッションについて - Qiita
によると、
session.gc_maxlifetime
らしい。
だけど、php.iniってサーバー内で一つしか持てないから、
一つのサーバーで複数のシステムを動かしてそれぞれ違うセッションの有効期限をもたせることを考えると、
php.iniで極端な値を設定してしまうのは不都合かもしれない。
ini_set('session.gc_maxlifetime', 60 * 60 * 24);
とかすればひとまずそれでいいかもしれないけど。
php.iniの設定値依存せず、
自前でセッション管理アルゴリズムを起こして
セッション管理したほうが何かと都合いい気もするのですけどね。
(例えば複数アカウントの使い回し対策とかね。)
投稿2018/09/05 08:42
編集2018/09/05 08:51
退会済みユーザー
総合スコア0
0
各画面に JavaScript を仕込んで、「画面表示開始より○○分たったらログアウト画面へ遷移させる」なんて方法もあります。
指定した時間以内に別の画面へ遷移し続けなければなりませんが。
投稿2018/09/05 09:17
総合スコア13707
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/05 09:02