XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面

说在前面的话:向大家致歉 在上篇《XSS跨站攻击防御之javaweb项目 filter方法解》给大家讲解了通过filter怎么将特殊字符转移。 上一篇中有个失误的地方。在转移的时候,转移多了。将反斜杠"/"也给转移了。导致在项目中所有使用到ajax请求和跳转的的都返回406错误码。 在此给大家道歉。因为个人疏忽,将反斜杠也当做特殊字符所以就给转移了。 上篇修改地方:

XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面_第1张图片
将选中的注释掉就可以了。 如下:
XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面_第2张图片
正文 我们知道通过上篇使用filter的方法将 特殊字符转义了 如果我们在页面上输入:
这样的字符。 XssFilter会将<>进行过滤。如下图:
XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面_第3张图片
查询得到的数据:
XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面_第4张图片
解决办法: 使用htmlUtils进行解码:
XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面_第5张图片
解码完成之后在页面显示:
显示正常!

你可能感兴趣的:(XSS跨站攻击防御(下篇):特殊字符转移后怎么正常显示在页面)