SafeHtml をリンクと組み合わせてどのように使用しますか?
シナリオ: ユーザーは、リンクを含む可能性のある未フォーマットのテキストを入力できますI like&love http://www.stackoverflow.com
。このテキストを GWT で安全にレンダリングしたいのですが、リンクをクリック可能にしますI like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
。GWT フロントエンドでテキストをレンダリングするだけでなく、リンクをクリックできるようにする必要がある電子メールでも送信したいと考えています。
これまでのところ、次のオプションを検討しました。
- 完全なテキストを HTML としてバックエンドに保存し、フロントエンドにそれが正しくエンコードされていると想定させます (
I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
) -> XSS の脆弱性を導入します - プレーン テキストを保存しますが、リンクは HTML (
I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
)としてバックエンドに保存し、フロントエンドでHtmlSanitizerを使用します。 - リンク ( ) のプレーン テキストと特別なエンコードを
I like&love [stackoverflow.com|http://www.stackoverflow.com]
バックエンドに保存し、フロントエンドでカスタム SafeHtml ジェネレーターを使用します。
私たちには、3 番目のオプションが最もきれいに見えますが、GWT の SafeHtml インフラストラクチャを利用できないため、最も多くのカスタム コードが必要になるようです。
問題を最もよく解決する方法を誰かが共有できますか? これまで検討していなかった別のオプションはありますか?