Java中处理xss的方式有多种,一般使用html entity转义,校验输入,清理有危害代码片段等方法。
- 转义字符串长度会发生变化,可能影响到持久化操作。如果页面中不允许编辑富文本,可以采用此方式;相反,这种方式会影响html展示。
- 校验输入可以在数据提交前防止用户添加特殊字符,但不是主要防御方法,只是有助于减少xss漏洞。
- 清理是一种强有力的防御措施,清除可能有害的标记,将不可接受的用户输入更改为可接受的格式,以确保接收到的数据不会对用户以及数据库造成损害。在允许使用html的站点上,这种方式效果较好。