セキュリティ・認証の用語一覧へ
このページの目次

セッションタイムアウトとは?

読み方:セッションタイムアウト

最終更新:2026/08/18

3秒でわかる

一定時間操作がないログイン状態を自動的に無効にする仕組み。放置された端末から他人が入り込むのを防ぐために、期限を決めて区切ります。

もう少し詳しく

どういうものか

セッションタイムアウトは、ログイン状態を表すセッションが、決められた時間を過ぎると自動的に無効になる仕組みです。無効になった後にリクエストを送ると、ログイン画面へ戻されます。

数え方には 2 種類あります。最後の操作からの経過で測る方式と、ログインからの経過で測る方式です。前者は使っている間は延び続け、後者は使っていても決まった時間で必ず切れます。銀行や管理画面では両方を組み合わせ、無操作 15 分または通算 8 時間で終了、といった設定にすることがあります。

なぜ必要か

共有端末やオフィスの離席が主な理由です。画面を開いたまま席を離れた人のアカウントで、他人が操作できてしまう状況を時間で塞ぎます。

サーバー側の資源も理由のひとつです。セッション情報をメモリや DB に持つ実装では、期限が無いと使われないデータが増え続けます。

具体例

Express でセッションの有効期限を 30 分にする例です。

<a href="/glossary/app-use" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">app.use</a>( session({ secret: process.env.SESSION_SECRET, resave: false, saveUninitialized: false, rolling: true, // 操作のたびに期限を延長する cookie: { maxAge: 30 * 60 * 1000, httpOnly: true, secure: true }, }) );

rolling を有効にすると最後の操作からの計測になり、外すとログインからの固定時間になります。

つまずきやすいところ

クッキーの maxAge だけ延ばしてもサーバー側のセッションが先に消えていれば入れません。逆にサーバー側だけ長くしても、ブラウザのクッキーが消えれば同じことです。両方の期限を揃えて考える必要があります。

利用者からの苦情で多いのは、長文を書いている最中に切れて入力内容が消える、というものです。フォームの下書きを保存する、期限が近づいたら画面上で知らせる、といった対応が要ります。

開発中に「タイムアウトを長くすれば楽」と 24 時間などに伸ばしたまま本番へ出てしまう事故もあります。設定値は環境ごとに分けます。

非同期の通信も見落としがちです。画面を開いたまま裏側で定期的にデータを取りに行く作りだと、利用者は何もしていないのに操作扱いになり、無操作の判定が働きません。期限を延ばす対象を利用者の操作に限る、といった線引きが要ります。

似た用語との違い

何が切れるか
セッションタイムアウトログイン状態そのもの
クッキーの有効期限ブラウザが持つ識別子
トークンの有効期限認証情報としての通用期間
接続タイムアウト1 回の通信の待ち時間


覚え方

「無操作で切れる」タイプと「時計で切れる」タイプの 2 つがある、と分けて覚えます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地セッションタイムアウトセキュリティ

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Linuxコースの全編を見る