0

我需要向 Window.setTitle() 发送一个 SafeHtml。问题是我在标题上使用了 SafeHtmlUtils.fromString(String c) 。由于 XSS 泄漏的可能性。

结果是我的标题看起来很糟糕(由于将 SafeHtmlUtils.fromString 转换为 HTML Entity References)

我的问题是你能用 SafeHtml 设置窗口标题吗?或者我如何将 Safehtml 转换回普通字符串?

代码(更新):

    public void setTitle(SafeHtml title) {
            internalHeader.setPageTitle(title);
        Window.setTitle(("fileee | " + title).replaceAll("\\<.*?>", ""));

    }


//in internalHeader
    public void setPageTitle(SafeHtml title) {
        pageNameBig.setInnerSafeHtml(title);

    }

pageNameBig 是一个 HeadingElement。问题是如果我把<h1>test结果放在 Window.setTitle =&lt;h1&gt;test

但在 internalHeader 中是好的 = dispalys<h1>test

都是因为它的 HTML 实体引用。

4

1 回答 1

1

窗口标题上的 XSS 是不可能的,因为标题无法呈现 HTML。

SafeHtml.asString()会给你一个字符串,虽然不是原始的SafeHtmlUtils.fromStrong- 相反,因为窗口标题不能显示任何 HTML,所以根本不需要使用 SafeHtml。

于 2012-08-03T13:08:45.320 回答