公開日:2013年2月25日
最終更新日:2020年8月13日
最終更新日:2020年8月13日
ブラウザのデータと Web サーバーのデータを区別する
Web アプリケーションを作り始めの初学者が陥りやすいことの中に、ブラウザで管理しているデータと Web サーバーで管理しているデータの区別がつかないというものがあります。
これは、サーバーサイドのシステムを理解しているかどうかと言い換えることもできます。実際、私がクライアントサーバーのシステムからサーバーサイドのシステムに移ったときに混乱しました。クライアントサーバーのシステムでは考える必要がなかった「どこで」データが管理されているかを意識しなければいけなかったのです。
下図のように、ブラウザで管理しているデータはフォーム情報と Cookie で、Web サーバーで管理しているのはセッション情報と設定情報になります。
ブラウザも Web サーバーも、お互いが持っているデータは、リクエストとレスポンスの通信をすることなしにアクセスできません。例えば、JavaScript からリクエストを送信することなしにセッション情報を得ることはできませんし、PHP などの Web サーバー側のプログラム言語もリクエストの送信なしにフォーム情報・Cookie の値を取得することはできません。
この違いを理解していることは重要です。
この違いを理解していないと、Web アプリケーションに不具合や脆弱性を作りこんでしまうことになります。
- ブラウザと Web サーバーが管理しているデータの違いを理解していることは重要
- リクエストとレスポンスの通信なしに、お互いのデータを取得することはできない
参考
Webアプリケーションセキュリティに関する記事は、以下のページにまとまっています。ぜひご確認ください。
スポンサーリンク
カテゴリー:Webアプリケーションセキュリティ対策
コメントを残す