atsukanrockのブログ

Microsoft系技術を中心にぼちぼち更新します

ASP.NET

ASP.NETで忘れずにやっておくべきこと(2) セッションハイジャック対策

はじめに 本エントリは『ASP.NETで忘れずにやっておくべきこと』シリーズの第2回。「セッションハイジャック対策」について記す。

ASP.NETで忘れずにやっておくべきこと(1) ViewStateUserKeyを使う

はじめに 本エントリから何回かに分けて、ASP.NETアプリケーションを作成する際に、忘れずにやっておくべき(だと私が考える)ことを挙げる*1。第1回は「ViewStateUserKeyを使う」だ。 *1:網羅的なリストではなく、私にとって当たり前でないものに限ることに…

ASP.NETで「ログイン成功後に新しいセッションを開始」は可能なんだろうか?

はじめに IPAが、『安全なウェブサイトの作り方』という、Webサイトのセキュリティに関するガイドブックを出している。このPDFの21ページに、「ログイン成功後に、新しくセッションを開始するようにする」という対策がある。この解説の内容は納得できるもの…

Repeaterのコントロールツリー復元機能

はじめに ASP.NETでの開発効率を上げるために、使いこなすことが非常に重要なコントロールのひとつにRepeaterコントロール(以降、単に「Repeater」と呼ぶ)がある。本エントリでは、Repeaterのコントロールツリー復元機能について述べる。 なお、本エントリ…

ViewStateによるコントロールのプロパティ値復元の仕組み

はじめに 本エントリではまず、ViewStateの基礎的な内容について説明する。さらに、ViewStateによるコントロールのプロパティ値復元の仕組みについても説明する。 ViewStateというと、「@IT:.NETエンタープライズWebアプリケーション開発技術大全 Webアプ…

コントロールツリー

ページに、あるコントロールを配置したとする。すると、そのコントロールは、ページをルートとするコントロールツリーの一部となる。その結果、そのコントロールのコンテナ(コントロールツリーの親ノード)、そのまたコンテナ…と辿ることにより、必ずコント…

コントロールでViewStateが「本当に」有効かどうかを確かめる

はじめに 本エントリでは、ASP.NETで、ページに配置したあるコントロールについて、そのコントロールでViewStateが有効かどうか(コードビハインドでのプロパティ値変更が、次回以降のポストバック時に保存されているか)を調べる方法を述べる。

「正直、ASP.NETとその周辺はどうなのよ」を読んで

やねうらお氏曰く やねうらお氏が最近ASP.NETの仕事をされているとのことなので、氏のブログでASP.NETについて何か言及があるかと思っていたら、「正直、ASP.NETとその周辺はどうなのよ」とのことだ。 氏の意見は以下のとおり。 良い点 生産性(および再生産…

Validatorをクライアントサイドで有効/無効にする

はじめに ASP.NETでは、Validatorと呼ばれる何種類かのコントロールを使って、 サーバサイド クライアントサイド の両方で妥当性検証(入力チェック)を行うのが一般的だ。本エントリでは、クライアントサイドでの妥当性検証を行うかどうかを、クライアント…

Control.Initイベント内でのプロパティ変更

コントロールのInitイベント内でプロパティを変更しても、その変更はViewStateに記録されない。(『Control.Init イベント (System.Web.UI)』の「解説」に記述あり)結果、HTTPリクエストを跨ると、そのプロパティ変更が失われる。 例えば以下のコードの場合…

Web.configを変更するとアプリケーションドメインが再起動される

『ASP.NET 構成ファイルの編集』より。Web.configを変更すると(ファイルの更新日時が新しくなると)アプリケーションドメインが再起動される。 アプリケーションドメインが再起動されると、以下のようなメモリ内の情報は全てクリアされると考えてよい。 セ…

ユーザーコントロール内のコントロールに対する妥当性検証

はじめに ASP.NETのユーザーコントロール内に配置したコントロールに対し、妥当性検証を行いたいとする。その際のValidatorのControlToValidateプロパティの指定方法を示す。 指定方法 <ユーザーコントロールのID>:<ユーザーコントロール内に配置したコント…