外部の HTML データ (HTML エンコードされた電子メール テキストなど) を安全に表示する必要があるアプリケーションがあります。つまり、XSS 試行やその他の厄介なものを削除します。ただし、HTML を表示できるようにする必要があります。これまでに検討されたソリューションは理想的ではありません。
- HTMLPurifier などで HTML をきれいにします。正常に動作しますが、電子メールのサイズが 100K を超えると非常に遅くなり、電子メールあたり数十秒になります。十分に安全なパーサーはどれも、PHP では遅くなると思います。一部の電子メールは非常に質の悪い HTML であり、1 ページのテキストに対して 150K の HTML を生成するものを見たことがあります。
- HTML を iframe に表示する - ここでの問題は、iframe が XSS AFAIK から安全であるために別のオリジンにある必要があることです。これには、同じアプリに対して別のドメインが必要になります。2 つのドメインでアプリケーションをセットアップするのは、はるかに手間がかかり、一部のセットアップ (1 つのドメイン名しか与えないホスティングなど) では非常に難しい場合があります。
この結果を達成できる他のソリューションはありますか?