1

電子メールからのHTMLをPythonを使用してWebブラウザで安全に表示するにはどうすればよいですか?

表示されているときは、外部参照に従わないでください。言い換えれば、表示されるすべてのコンテンツは電子メールからのものであり、インターネットからのものではないはずです。

スパムメール以外は、作成者が意図したようにできるだけ近くに表示する必要があります。

これを自分でコーディングすることは避けたいと思います。

最新のブラウザ(Firefox)バージョンを必要とするソリューションも受け入れられます。

4

3 に答える 3

1

html5libには、HTML+CSS サニタイザーが含まれています。現在は許容範囲が多すぎますが、ユースケースに合わせて変更するのはそれほど難しくありません。

ここから見つけました。

于 2009-10-23T06:26:45.997 に答える
1

「安全」とは正確に何を意味するのかよくわかりません。これはかなり大きなトピックです...しかし、その価値は次のとおりです。

私の意見では、ActiveState Cookbookのストリッピング パーサーは、最も簡単なソリューションの 1 つです。クラスをほとんどコピーして貼り付けて、使用を開始できます。

コメントもご覧ください。最後の1つは、もう機能しないと述べていますが、これもどこかのアプリケーションで実行しており、正常に機能しています。仕事でそのボックスにアクセスできないので、週末に調べなければなりません。

于 2009-10-23T07:10:04.117 に答える
0

HTMLparser モジュールを使用するか、BeautifulSoup をインストールして、それらを使用して HTML を解析し、タグを無効化または削除します。これにより、そこにあったリ​​ンク テキストはそのまま残りますが、Web ブラウザー コンポーネントで表示しているため、強調表示されず、クリックできなくなります。

<A></A>を aに置き換え、<SPAN></SPAN>テキストの装飾を変更してリンクがあった場所を示すことで、何が行われたかをより明確にすることができます。おそらく、通常とは異なる青の色合いと、壊れていることを示す破線のアンダースコア. そうすれば、クリックできないものをクリックするように人々を実際に誤解させることなく、意図したとおりに表示することに少し近づくことができます。セキュリティ上の理由からリンクが無効になっていることを説明するツールチップをポップアップ表示するJavascriptまたは純粋な CSSにホバーを追加することもできます。

<IMG></IMG>タグを空白の四角形に置き換えて、ページ レイアウトが元のレイアウトに近いことを確認するなど、同様のことをタグで行うことができます。

私はBeautiful Soupでこのようなことをしましたが、HTMLparser は Python に含まれています。古い Python ディストリビューションには、廃止された htmllib がありました。電子メール メッセージの HTML は完全には正しくない可能性があるため、壊れた HTML の意味を理解するのに優れた Beautiful Soup 3.0.7a を使用してください。

于 2009-10-22T10:25:27.983 に答える