1

WCFフォールトコントラクトをいじっている間、カスタムの例外継承ツリーをフォールトのTDetailとして再利用できることを望んでいました。これを機能させた後、私はこれを考え始めました(はい、作業を行った後、それが考えるのに最適な時期であることがわかります)。そして、クライアントがTDetailとしてシリアル化された例外の完全なスタックトレースを取得していることに気づきました。

今、私はこれがあなたがオンにしない正確な理由だと思っていました<servicedebug includeExceptionDetailInFaults="true" />。確信はないけど。例外をTDetailとして使用することは、セキュリティ上のリスクになりますか?そして、私の他のオプションは何ですか?

4

3 に答える 3

1

前述のように、内部システムについてより多くの情報を外部に公開するという点で、セキュリティリスクになる可能性があります。ただし、TDetailは何でもかまいません。そのため、保持したいメッセージと興味深い例外情報を保持しながら、スタックトレースなどの保護されたデータをクリアして、承認した部分だけをクライアントにシリアル化する新しい例外オプションを作成できます。

于 2012-02-21T05:33:11.660 に答える
1

スタックトレースを公開することはそれほど大きなセキュリティリスクではありませんが、潜在的に攻撃者にシステム(データベース、ライブラリなど)に関するより多くの情報を提供する可能性があります。したがって、私の意見では、実稼働環境で詳細を確認する必要がありますが、デバッグ時に非常に役立ちます。

于 2012-02-21T05:29:34.853 に答える
0

あなたのサービスの消費者が誰であるかによります。外の世界に公開していると言えば、これらの詳細をサービスのクライアントに渡すことはお勧めできません。これは、サービスの利用者にセキュリティ違反の原因となる可能性のあることについてのアイデアを提供するためです。しかし、それを内部で使用して適切に管理し、これらの詳細を使用して何らかの方法で何かを実行できるようにしたい場合は、その呼び出しは、おそらくファイアウォールの背後にあり、外の世界と管理者によって制御されているネットワーク上で私は推測しています。

于 2012-02-21T05:34:06.940 に答える