1

Exchange Web サービスを使用して Exchange サーバーにクエリを実行する nodejs アプリがあります。受信トレイからメールを取得し、アプリでタスクに変換します。ただし、電子メールの本文には Outlook 形式の HTML が含まれています。メールの書式設定などをできるだけ元の形式に近づけて表示したいのですが、メールにクロスサイトスクリプトが埋め込まれているのが気になります。これを処理する最善の方法は何ですか? このようなシナリオで悪意のあるクロスサイト コードを削除できる JavaScript またはノード ライブラリはありますか?

4

1 に答える 1

0

Cheerioは、このタスクを達成するための最良の方法であることがわかりました。Node にインストールしたら、jQuery テキスト関数を使用してメール本文をテキストに変換できます。

var cheerio = require('cheerio'),
$ = cheerio.load(emailBody);

var emailText = $('body').text();

次に、マークダウンをインストールて、プレーン テキストを解析してマークダウン スタイルで安全な html に戻すことができます。

var markdown = require( "markdown" ).markdown;
console.log( markdown.toHTML( emailText ) );

次に、電子メールを元の形式で表示したい場合は、元の形式をデータベースに保存し、勇気があればそれを表示するオプションをユーザーに提供できます。もちろん、クロス サイト スクリプティングの機会が再び開かれますが、信頼できるユーザーにのみオプションを提供すれば、おそらく安全です。元のソースをダウンロードしてローカル マシンで実行するオプションを提供して、サーバーで実行しないようにすることもできます。

于 2013-12-13T19:09:51.947 に答える