inputタグにhiddenで隠された__VIEWSTATEとは(通信の盗聴、値の改ざん、回線の圧迫)
ASP.NETで作成されたサイト(拡張子が.aspxのページ)のフォームには『__VIEWSTATE』がhiddenで隠されていることがあります。
これはビューステート(ViewState)という機能で、ページ間で値(状態)を保持するためのものです。
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMj9L………O+5ncp7trJO5f+rSV" />
valueにはbase64エンコードされた値が格納されています。
base64エンコードでは英文字と記号で構成される値となり、狭義には暗号化されているわけではなく単に符号化されているだけなので簡単に元の値に戻すことができます。
(base64エンコードはメールで添付ファイルを送信する場合などに使用されています。)
このためこの値は通信の盗聴があった場合には容易に内容を知ることができます。
セッション(Session)ではサーバ側が値を保持しますが、ビューステートではクライアント側が値を保持します。
つまり値の改ざんが容易にできてしまいます。
格納されるデータがサーバからブラウザに送信され、次のページへ遷移する際にはブラウザからサーバに送信されるため格納されるデータ量が多くなれば多くなるほど回線を圧迫しサーバ負荷がかかります。
おおざっぱにまとめるとクッキー(Cookie)より簡単に複雑な値を扱えて、セッションよりセキュリティーは高くない機能です。
関連記事
- HTML
- SELECTタグで色を選択する場合のサンプル
- HTMLソースの最後にコメントで『Quick Cache』とあるページ
- 多言語対応テキストエディタの一覧
- 都道府県を選択するときのサンプルコード (JISコード準拠)
- Firefox、Chromeなどで文字化けを防ぐ方法 ヘッダー情報に文字コードを指定
- Windows7やWindowsVistaでTelnetを使用する方法
- SSL(HTTPS)でファイルのダウンロードができない場合
- mailtoの使い方
- 生年月日などで年を選択するときのサンプルコード
- ナインパッチとは(9-Patch)
- Twitterウィジェットのカスタマイズ(ウィジェット部分のHTML・CSS)
- 連続する半角英数字を途中で自動改行させるには、​が使えます
- SSLの警告
- サイトマップ(sitemap.xml)のつくり方とちょっとしたテクニック
- IPアドレス制限とベーシック認証を併用する方法
- Google Chromeで一部の文字だけ四角記号に文字化けするときの対処法
- htmlファイルのコメントに <!--# から始まるものは使用しないほうがいい
- DOCTYPE宣言/XML宣言
- 特定のディレクトリのみベーシック認証を外す方法
- BRタグが<br />と書ける理由 『<br> が <br /』で『</br> が >』になる
- 会員専用ページを作る方法 (ベーシック認証 / Basic認証 / 基本認証)
- サブドメインにアンダーバーがあるとクッキーは使えない
スポンサーリンク