表示する最も簡単な方法は、HTMLマークアップが適切にエスケープされている場所SafeHtml
として表示することです。String
これにより、クロスサイトスクリプティング(XSS)攻撃から保護されます。たとえば、<SCRIPT>alert('Fail')</SCRIPT>
JavaScriptが実行されているのではなく、ページがレンダリングされたときに表示されるテキストであるため、誰かがフォームに名前を入力した場合などです。
したがって、次のようなものを使用する代わりに、次のようにします。
String name = getValueOfName();
HTML widget = new HTML(name);
次を使用する必要があります。
String name = getValueOfName();
HTML widget = new HTML(SafeHtmlUtils.fromString(name));
SafeHtmlBuilder
StringBuilder
追加した文字列のHTMLマークアップを自動的にエスケープすることを除いては似ています。したがって、上記の例を拡張するには、次のようにします。
String name = getValueOfName();
SafeHtmlBuilder shb = new SafeHtmlBuilder();
shb.appendEscaped("Name: ").appendEscaped(name);
HTML widget = new HTML(shb.toSafeHtml());
これは、読む価値のあるGWTドキュメントの優れたガイドです。SafeHtml