公開日:2007年6月28日
独立行政法人情報処理推進機構
セキュリティセンター
本ページの情報は2007年6月時点のものです。
記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。
Webサイトには通常、複数のWebページがある。ひとつのWebページの中には別のページのURLが埋め込まれていて、これが次々と連鎖してゆく。Webアプリケーションの場合、連鎖するURLのそれぞれには、いくつかのパラメータが伴う。呼び出されたWebプログラムはこれらのパラメータを読み込んで柔軟な情報処理を行う。
あるWebページから別のWebページに移り変わる際HTTPリクエストに添えられるパラメータを、ここでは「コンテンツ間パラメータ」と呼ぶことにする。
コンテンツ間パラメータには次の3種類がある。
コンテンツ間パラメータは、第三者への漏えい・改ざん、ユーザ本人によって改ざんされうる無防備な存在である。
コンテンツ間パラメータに関わる問題を回避するには次のように Webアプリケーションを実装する。
コンテンツ間パラメータ(URLパラメータ、POSTパラメータ、Cookie)には、第三者に傍受されては困る秘密情報を含めない。
例えば、コンテンツ間パラメータに含めることが好ましくないものに次のものがある。:
コンテンツ間パラメータの受け渡しにはなるべくセッション変数を用いる。
フォームデータがURLパラメータではなくPOSTパラメータで送信されるよう、<form> タグには必ず method="post" を明記する。
Cookieの属性をより厳しい条件に設定する。