torutkのブログ

ソフトウェア・エンジニアのブログ

Webのセッションタイムアウト?にやられ続けてしまった

子供の英語検定をインターネット上(Web)で申し込む作業をしていました。一次試験免除の場合、前の受験地番号、個人番号を入れる必要があり、他にやる家事もあったので後回しにして、後で(数時間後)登録の記載を続けました。すると、登録操作後に「操作手順に誤りがあります」となって入力した内容が消え、また最初から入れる羽目になりました。

先月は、JJUG CCC 2017 Fallの発表応募があり、こちらもWeb上でフォームに所定の内容を記載し登録するものです。前回(2017 Spring)応募の時、Webフォームを記載し登録したはずが、なぜか登録されていないという事態が発生したので、今回は応募のWebフォームに記載した内容をテキストにコピー&ペーストして取ってから登録操作をしました。

登録した後、エラーも登録されたともメッセージが表示されず、登録されたかどうかまったく判断がつかなかったので、前回のこともあり、登録されていないよりは2重登録になった方がいいだろうとテキストに取っていた内容を再度Web上に入力して登録しました。
今度は、登録後に自分の登録したセッション題名が表示されたので、ああ登録されるとこのような表示になるのか、と分かりました。

JJUGの応募では、他に同じ事象になった方がおり、セッションタイムアウトでは?ということでした。

セッションタイムアウトで簡単に(短時間ですが)検索してみると、セキュリティ上必要とか、リソースが枯渇する等の理由からデフォルトのセッションタイムアウトは長めなので短くするべき、といった情報は多数でてきます。これはWebアプリケーション提供側の観点でのもので、利用者の観点でフォームの作成に必要な時間を確保するといった記述は短時間の検索では見かけませんでした。

デフォルトのセッションタイムアウトはWebサーバー等によって異なりますが、20〜30分というのが多いようです。

英検の申し込みは、別な用事で中断していたので、数時間後に続きをはじめましたし、JJUG CCCの応募フォームでは、考えながら文章を書いていたので、フォームの記載開始から1時間近くは経っていたかと思います。

もし制限時間内に登録完了しなければならないならば、その時間が示されているとかのページ設計があるとよかったのですが(使い勝手がいいとは思えませんが)。

そういえば、Redmineではセッションタイムアウトを設定していないか、かなり長い時間にしていたので、朝作業を開始して日中チケットやWikiページを編集で開いたまま随時書き込みを続け、最後に保存するということをしていたので、あまりタイムアウトを気にしたことがなかったなぁと。