Struts 2 - 有没有办法在输入字段中转义HTML?

时间:2012-08-24 11:45:11

标签: struts2

当我允许用户使用s:textfield输入文字时,他可以输入<b>Name</b>或类似\Me/之类的内容。我希望在将它们保存到数据库之前应将它们转义。当我们检索它们时,转义是自动完成的,但我希望它也能在我们保存时发生。

我试图从我的动作类返回json输出,但由于我的数据库中存储了名称\a/,因此形成了错误的json。如果名称在保存到数据库之前已被转义,则可以避免这种情况。

2 个答案:

答案 0 :(得分:2)

您可以使用StringEscapeUtils。您可以在操作中调用escapeJavascript(textfield),然后将其存储到数据库中。

答案 1 :(得分:1)

@Daud,您解释的问题称为 跨站点脚本 或XSS。 我认为您应该使用过滤器来清理请求参数。这是最复杂的方式。您可以为通过请求发布某些参数的操作调用这些过滤器。

访问 my blog ,了解如何使用过滤方式避免XSS威胁。

当我们的项目由专门从事安全测试的知名公司进行测试时,我也遇到了这个问题,他们提出了这种过滤方法。

你可以尝试一下。