SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Web開発者の必須知識、Webアプリの不正遷移対策とは?

Webアプリケーションにおける不正遷移の種類と対策を紹介

やってはいけない、不正遷移対策

 最近は少なくなりましたが、以前はトランザクション領域で「戻る」ボタンを押すと「白い画面」になるWebアプリケーションが多く存在しました。これは、まだ不正遷移対策の仕組みが普及していなかったため、トランザクション領域のページを出力する際に、HTTPヘッダにページの有効期限(Expires)を設定することで、キャッシュを無効にし「戻る」ボタンの利用を防いでいたわけですが、一般ユーザーはエラーの意味が分からず、とても不評な対策でした。

参考資料
 [HOWTO]Internet Explorerでキャッシュを無効にする

 IEのキャッシュ制御について書かれています。ただし、FireFoxやOpera、同じIEでもバージョンによって挙動が異なるため、不正遷移対策として確実な方法ではありません。

不正遷移対策5つのポイントまとめ

 ポイントをまとめます。

  1. ページの種類によって、フリー領域とトランザクション領域に分類します。
  2. それぞれの領域でのページ間と、領域をまたがるページ間で行うべきチェックを決めます(不正遷移チェック、ログイン済みチェックなど)。
  3. トランザクション領域では、不正遷移対策を行います。
  4. 不正遷移対策はクライアント側とサーバ側の両方で行います。クライアント側のチェックに頼ってはいけません。
  5. 不正遷移対策は、「リクエストごとにユニークな文字列」を生成し、次のリクエストのタイミングでセッションと比較することで行います。

最後に

 最近はフレームワークの利用が進み、Web開発が楽になりましたが、サーブレットを直接作る機会が少なくなったため、ブラウザの挙動やHTTPに対する開発者の理解度が下がってしまいました。道具に振り回されずに道具を使うためには、まず道具を理解しましょう。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
特集記事連載記事一覧

もっと読む

この記事の著者

佐藤 龍之介(サトウ リュウノスケ)

某SIer にて、主にWeb系開発プロジェクトに従事。 趣味はラーメン食べ歩き。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2627 2008/08/15 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー