web-dev-qa-db-ja.com

HTMLメールを安全に表示する方法は?

現在、phpを使用してウェブメールアプリケーションを構築しています。 Imapを使用してGmailからメールのコンテンツを取得していて、Gmailが表示する方法のできるだけ近くにメールを表示したいと考えていました。電子メールから未加工のhtml本文を表示しても安全ですか、それともアプリケーションが攻撃から保護されていることを確認するために実行する必要がある追加の手順がありますか?

私もこれを見た question "how-to-safely-display-html-emails-like-gmail-does-it"ですが、5年前のもので、最近のソースを見つけることができませんでしたトピック。

2
Sean Debenport

HTML出力に埋め込む前にコンテンツをサニタイズする必要があります。サニタイズしないと、XSSの脆弱性がそこにあることが保証されます。

あなたが利用できる素晴らしい消毒剤がそこにあるので、車輪を再発明しないでください。 XSSから確実に保護するために、広く使用されているいくつかのJSフレームワークにも統合されている DOMPurify を使用することを強くお勧めします。デフォルトで安全であることを目的としていますが、構成と微調整の機能も提供しています。

2
Demento