0

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

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

4

2 回答 2

2

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

于 2012-08-24T11:55:22.457 回答
1

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

访问我的博客,了解如何使用过滤器方法避免 XSS 威胁。

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

你可以试一试。

于 2012-08-24T18:43:02.240 回答