在我的jsf webapplication中,我使用messages.properties输出一些文本 . 此文本可能有html换行符,因此格式化outputtext .
如果我将escape =“false”属性设置为outputtext,那一切都正常 .
问题是,此值为“false”的属性不会阻止vor XSS(跨站点脚本),因此我删除此属性并使用default-value“true” .
所以,我不想将所有文本行拆分为我的messages.properties中的单独属性,如下例所示:
mytext = This is my text
with line break and user value {0}...
后:
mytext1 = This is my text
mytext2 = with line break and user value {0}...
有什么办法,除了逃避=“假”但是阻止了xss?
谢谢!
2 回答
应该可以使用
http://java.sun.com/jsp/jstl/functions
命名空间中的standard jstl functions来转义用户提供的参数:XSS可以从安全源输出一些HTML,这些HTML不是用户输入或编辑的 . 在这种情况下,您可以安全地使用
escape="false"
.