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

我正在使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


html5中section的用法
span标签和p标签的区别
jsp文件和html文件的区别是什么
span标签和div的区别
html颜色代码表大全
span标签的作用是什么
dhtml的主要组成部分包括什么
html编辑器哪个软件好用
span标签属于什么样式标签
html文件乱码怎么办
html怎么读取json文件
html文件打开乱码怎么恢复原状
html怎么链接外部css
html文件怎么保存到本地
html怎么链接css文件
html和css怎么连接
html和css怎么关联
html文件怎么保存到一个站点
html文件怎么写
html出现乱码怎么解决