Spring MVC defaultHtmlEscape - 它在进出的方式上有效吗?

Boz*_*zho 8 java spring spring-mvc

当我设置defaultHtmlEscapetrue在web.xml,在所有输入字段设置的值便得到了转义.

但是当提交它们时,值不会被转义.

那么,这个参数是否仅用于输出,并且不包括参数的提交是真的(因此,如果我想在数据库中存储xss-safe值,我应该做其他事情)

axt*_*avt 6

输入字段的默认HTML转义设置已经存在true,因此这true意味着您默认获得的行为.

此外,我想如果你想在数据库中存储xss-safe值,你需要将其设置false为以避免双重转义.

所以,你需要一些不同的东西来实现输入转义,也许是过滤器.虽然我认为输入转义不是一个好主意,但是一致的输出转义看起来更可靠,并且不会在数据库中处理数据时产生问题.

  • @Ithar我想到的一些原因是:a /因为你可以在很多方面插入无效字符,因此你必须在输入的任何地方执行一致的检查.b /另外,在某些情况下,有些人可能会访问数据库并在那里添加无效表达式.在这种情况下,由于未检查xss的db输入,因此您可能存在潜在漏洞. (2认同)