簡體   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