繁体   English   中英

JSF中的HTML内容呈现

[英]HTML content rendering in JSF

我有两个字段:输入和输出。 在输入中,我正在编写html代码,按一下按钮,然后在输出字段中看到渲染的代码。

   <h:form id="displayForm">
        <p:commandButton value="Execute" actionListener="#{screenController.executeCode}" update="displayForm:output"/>
        <h:inputTextarea value="#{screenModel.input}" rows="20" cols="165"/>
        <br/>
        <h:outputText id="output" value="#{screenModel.output}" escape="false"/>
    </h:form>

但是,当我写信时

<script>
document.write("1")
</script>

所有页面均已呈现。 我绝对不了解Java脚本,但是我有主意。 我可以在某些代码上替换文档,而不是仅在“输出”字段上呈现。 我该怎么做?

在独立页面中打印该页面,并通过<iframe>显示。

无论采用哪种方法,将用户控制的输入重新显示为未经转义的HTML都会在服务器上打开XSS攻击漏洞。 您不希望最终用户能够完全在服务器上失去控制地运行JavaScript。 使用诸如Jsoup之类的HTML清理程序清除所有潜在的恶意HTML标记和属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM