当我在web.xml中将defaultHtmlEscape
设置为true
时,所有输入字段中设置的值都会被转义。
但是当提交它们时,这些值不会被转义。
所以,这个参数是否仅用于输出,并且不包括参数的提交(因此,如果我想在数据库中存储xss-safe值,我应该做其他事情)
答案 0 :(得分:6)
输入字段的默认HTML转义设置已为true
,因此true
表示您默认获得的行为。
此外,我想如果你想在数据库中存储xss-safe值,你需要将它设置为false
,以避免双重转义。
所以,你需要一些不同的东西来实现输入转义,也许是一个过滤器。虽然我认为输入转义不是一个好主意,但一致的输出转义看起来更可靠,并且不会在数据库中处理数据时产生问题。
答案 1 :(得分:1)
我认为要逃避form input,应该这样做:
<form:input path="someProperty" htmlEscape="true" />