3

ASP.Net アプリケーション (Visual Studio 2008 で記述され、Vista 64 ビットで実行) のデバッグ中に、ローカルの ASP.Net 開発サーバー (「Cassini」など) が応答を停止することがあります。

「データ実行防止 (DEP) によって WebDev.WebServer.exe が強制終了された」というメッセージが頻繁に表示されます。

イベント ログには、単に「WebDev.WebServer.exe が動作を停止しました」と表示されます。

この「問題」は、DEP がデフォルトでオンになっているため、Vista 64 ビットでより頻繁に発生すると聞いています。したがって、DEP をオフにすると、問題が「解決」される場合があります。

しかし、私は疑問に思っています:

DEP がプロセスを強制終了させる原因となる Cassini の既知のバグ/状況はありますか?

あるいは、データ実行防止を無効にする実際の危険性は何ですか?

4

5 に答える 5

3

確実に知る唯一の方法は、カッシーニソースを掘り下げて、ヒープ上にコードを生成し、NXフラグをクリアせずに実行する領域があるかどうかを確認することです。

ただし、その代わりに、IISを使用してみませんか?

編集:

DEPを無効にすることの危険性は、セキュリティホールを開くことです。DEPは、ヒープ上で生成された任意のコードの実行を許可しないことで機能します。これにより、マルウェアプログラムが正当なプログラムのデータセグメントにコードを挿入するのを防ぐことができます。

于 2008-08-21T05:15:01.073 に答える
2

あなたはビスタにいます、iisは良くなりました(7)、カッシーニはくだらないままでした。

したがって、ホストヘッダーとhostsファイルエントリを使用して、IISでこのアプリを起動するだけです。

于 2008-08-21T05:18:09.613 に答える
1

Visual Studio で IIS を使用することは、1.1/VS02/03 の頃ほど苦痛ではなくなりました。Cassini サーバーよりも IIS を優先する正当な理由はたくさんあります ( Dominick Baierによる記事)。

カッシーニは有害であると考えた

Dominick は、IIS とセキュリティ関連の「男」です。

Web アプリに IIS を使用する場合、私は常に最初に IIS でアプリを作成し、好みのフォルダーをポイントしてから、VS にプロジェクトを作成させます。つまり、Web アプリで c:\inetpub\wwwroot がごちゃごちゃになることはありません。

もちろん、IIS7.x をターゲットにしている場合は、Visual Studio で ASP.NET アプリケーションを開発するための明らかな選択肢である IISExpress があります。

于 2008-08-21T15:14:01.913 に答える
1

必要に応じて、特定のプログラムを DEP から除外することができます。

ジョナサンとして

これにより、アプリケーションが持つ可能性のある脆弱性が開かれることに言及しています。

于 2008-08-21T06:41:16.730 に答える
0

答えてくれてありがとう。私は、.net 1.x の時代に IIS に対する嫌悪感を抱き、IIS を再利用することを検討することを拒否したと思います (今まで)。

余談: ChanChan と Jonathan からの 2 つの同等に受け入れられる回答から選択するとき、a) 彼が最初に参加し、b) 彼の担当者が現在低いため、私は任意に Jonathan の回答を「受け入れた」とマークしました。

于 2008-08-21T06:51:00.920 に答える