2010-12-07 18 views
4

C#/ ASP.NET MVC Webアプリケーション内で、信頼できないソースから受け取ったHTML電子メールを表示したいと思います。 「安全な」方法で行うベストプラクティス(またはツール)があるかどうかを知っていますか?私が理解するところでは、ほとんどのウェブメールは広範囲の前処理(画像リンクの無効化、スクリプトの削除など)を行います。ウェブアプリケーション内にHTML電子メールを安全に表示するにはどうすればよいですか?

電子メールを表示するだけでなく、というテキストのみを入力するよりも簡単なことはありますか?

答えて

3

ジョアンズ、

一番簡単な方法は、潜在的に悪質なHTMLフィルタリングするには、Web保護ライブラリのホワイトリストサービスを利用するために、次のようになります。このように画像をブロックするように、より洗練されたクライアントの動作を実装するためとしてhttp://wpl.codeplex.com/

をユーザーがそれを承認しない限り、未知のソースは、あなたがこれらの線に沿って何かを実行しようとする場合があります:

  1. がクライアントに<img src="{URI}" />タグ戻ってフル渡してはいけません - 代わりにプッシュします一意のID属性を持つイメージを作成し、デフォルトの「画像を表示できません」アイコンをsrcに置き換えます。
  2. ボタンやその他のUIコントロールを追加して、ユーザーがこのメソッドの画像を表示するための明示的な同意を得ることができます。
  3. 電子メール表示コントローラにアクションメソッドを作成し、画像のIDとsrc値を含む辞書を含むJsonResultを返します。
  4. アクションメソッドを呼び出すJavaScriptメソッドを記述し、アクションメソッドからJsonResultを受け取ったときに適切なsrc値を置き換えます。

希望します。

関連する問題