富文本提交数据到后台防止xss攻击

您所在的位置:网站首页 富文本编辑器后端存储 富文本提交数据到后台防止xss攻击

富文本提交数据到后台防止xss攻击

2023-11-24 00:22| 来源: 网络整理| 查看: 265

StringEscapeUtils.unescapeHtml的使用 富文本提交数据到后台后,保存到数据库的格式可能是这样的: ;p;打发 发顺丰;/p; 我们有时候需要的是:

打发 发顺丰

    public static void main(String[] args) {

//方式一         //org.apache.commons.lang3.StringEscapeUtils会把中文也转义         String str = StringEscapeUtils.unescapeHtml4(";p;打发 发顺丰;/p;");         //获取数据库数据,相当于解码反转译         System.out.println(str);         String str2 = StringEscapeUtils.escapeHtml4("

打发 发顺丰

");         //获取富文本编辑器数据,相当于过滤转译,防止跨站xss攻击         System.out.println(str2);

//方式二         //spring的org.springframework.web.util.HtmlUtils.htmlEscape 不会转义中文         System.out.println( HtmlUtils.htmlEscape("打发 发顺丰 xing"));

输出结果:

转义HTML,注意汉字:;font;chen打发 发顺丰  xing;/font; 反转义HTML:chen打发 发顺丰   xing ;font;chen打发 发顺丰   xing;/font;

}

StringEscapeUtils.escapeHtml的具体使用  跨站脚本XSS又叫CSS (Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的,例如:获取受害者的会话标识以冒充受害者访问系统(具有受害者的权限),还能够轻松地强迫用户的浏览器发出非故意的HTTP请求,如诈骗性的电汇请求、修改口令和下载非法的内容等请求。  对于不可信的输入可以采用 apache.commons.lang3.StringEscapeUtils 对输入字符串进行过滤,将’’ ‘*’ 三个字符转换成html编码格式 < & . 防止HTML注入攻击

import org.apache.commons.lang3.StringEscapeUtils;   public class XSStest{     public static void main(String[] args) {         String s = "(123)(*&^%$#@!)";         s = StringEscapeUtils.escapeHtml4(s);         System.out.println(s);     } }  (123)(*&^%$#@!) 可以有效的防止恶意的页面跳转,alert弹框。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3