【记录点滴】StringEscapeUtils.unescapeHtml与StringEscapeUtils.escapeHtml4使用

StringEscapeUtils.unescapeHtml的使用

富文本提交数据到后台后,保存到数据库的格式可能是这样的:

<p>【产品名称】艾酷维多种维生素锌软糖</p>

我们有时候需要的是:

<p>【产品名称】艾酷维多种维生素锌软糖</p>

所以就需要用到 StringEscapeUtils  类进行转义和反转义

	public static void main(String[] args) {
		String str = StringEscapeUtils.unescapeHtml4("&lt;p&gt;【产品名称】艾酷维多种维生素锌软糖&lt;/p&gt;");
//获取数据库数据,相当于解码反转译
		System.out.println(str);
		String str2 = StringEscapeUtils.escapeHtml4("<p>【产品名称】艾酷维多种维生素锌软糖</p>");
//获取富文本编辑器数据,相当于过滤转译,防止跨站xss攻击

		System.out.println(str2);
	}

 

StringEscapeUtils.escapeHtml的具体使用

 跨站脚本XSS又叫CSS (Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的,例如:获取受害者的会话标识以冒充受害者访问系统(具有受害者的权限),还能够轻松地强迫用户的浏览器发出非故意的HTTP请求,如诈骗性的电汇请求、修改口令和下载非法的内容等请求。

 对于不可信的输入可以采用 apache.commons.lang3.StringEscapeUtils 对输入字符串进行过滤,将’<’ ‘>’ ‘*’ 三个字符转换成html编码格式 < & &gt. 防止而已的HTML注入攻击

 

mport org.apache.commons.lang3.StringEscapeUtils;
 
public class XSStest
{
    public static void main(String[] args)
    {
        String s = "<alert>(123)(*&^%$#@!)</alert>";
 
        s = StringEscapeUtils.escapeHtml4(s);
        
        System.out.println(s);
    }
}
  •  <alert>(123)(*&^%$#@!)</alert>

可以有效的防止恶意的页面跳转,alert弹框。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值