加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

使用HTML代码将字符串注入和解释为JSF页面的组件

发布时间:2020-12-14 19:37:18 所属栏目:资源 来源:网络整理
导读:我正在使用PrimeFaces与JSF 2.0来构建一个应用程序.我正在使用PrimeFaces p:editor组件,使用户能够创建丰富的文本.但是这个组件的输出是 HTML源码,如下所示: String text = "pThis text icontains/i some bHTML/b code./p"; 当我在 h:outputText中显示时
我正在使用PrimeFaces与JSF 2.0来构建一个应用程序.我正在使用PrimeFaces< p:editor>组件,使用户能够创建丰富的文本.但是这个组件的输出是 HTML源码,如下所示:
String text = "<p>This text <i>contains</i> some <b>HTML</b> code.</p>";

当我在< h:outputText>中显示时如下:

<h:outputText value="#{bean.text}" />

然后它将HTML代码显示为纯文本:

<p>This text <i>contains</i> some <b>HTML</b> code.</p>

是否有任何可以解释HTML源的组件,< I>实际上显示为斜体和< b>如大胆?

This text contains some HTML code.

解决方法

JSF默认从支持bean属性转义HTML,以防止XSS攻击漏洞.要禁用它,只需设置< h:outputText>的escape属性即可.假的
<h:outputText ... escape="false" />

这样,HTML将不会被转义,因此将被webbrowser解释.

与具体问题无关,请注意XSS攻击,因为您在这里基本上重新显示用户控制的输入未转义.您可能想要事先消毒.

> What is the general concept behind XSS?
> CSRF,XSS and SQL Injection attack prevention in JSF
> Server side HTML sanitizer/cleanup for JSF
> Escape everything but linebreaks in h:outputText

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读