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弹框。

【记录点滴】StringEscapeUtils.unescapeHtml与StringEscapeUtils.escapeHtml4使用相关推荐

  1. [记录点滴] 小心 Hadoop Speculative 调度策略

    [记录点滴] 小心 Hadoop Speculative 调度策略 文章目录 [记录点滴] 小心 Hadoop Speculative 调度策略 0x00 摘要 0x01 缘由 0x02 代码示例 0 ...

  2. 记录点滴27(回家的诱惑)

    记录点滴27 2012年11月5日星期一 大学三年级 第一学期第9周结束第10周开始 第九周的记录内容可能会比以往要丰富一点,在学校的生活基本上就是三点一线,课室.饭堂.宿舍的三点一线,没有任何新意, ...

  3. 【分享】5款记录点滴的App,人生路上的轨迹一定要珍藏~

    生活永远是让人陷入无尽思考的代名词,试问一下,我们是否对它抱怨过,期待过,那些生活中的一些小事带给我们的感动我们还是否记得,我们是否对自己来到这个世界有更深刻的理解,这里推荐5款App,让我们随时随地 ...

  4. 2012毕业找工作记录点滴

    从2011年9月18日找工作至今,一个多月的奔波总算告一段落,签了经过综合考虑,自己还算比较满意的公司,除此外,手里也拿了若干个offer, 相对于其它同学来说,或许可以称得上"小牛&quo ...

  5. Win API记录点滴

    这里记叙了在Windows下GDI编程的一些函数,用GDI函数可以有效的控制视窗的显示.尤其涉及到Windows图形编程,GDI函数将非常有用.    关于种种函数,在<Windows程序设计& ...

  6. 移动开发学习记录点滴-动态增加列表行数据

    2019独角兽企业重金招聘Python工程师标准>>> 一. 使用jQueryMobile的第一步,先创建一个html页面,并在head标签中加入以下内容: <link rel ...

  7. 个人日记系统,记录点滴小事,记录生活点点滴滴

    以前本人是写笔记本日记的后来发现天天在笔记本上写不是那么方便,就想着自己写一个日记系统,防着博客系统来写吧,后续希望有志同道合的朋友一块来完善,暂时放几张简陋的截图吧 技术: springboot+v ...

  8. 基于Django实现Linux运维管理平台的整个实现过程和各种API接口调用以及Echarts绘图项目介绍(一)记录点滴生活

    基于Django实现Linux运维管理平台整个实现过程和各种API接口调用以及Echarts绘图的使用介绍 项目内容涉及技术直通车: 我的项目仓库:MyGitHub https://github.co ...

  9. iwebshop index.php,iwebshop源码剖析记录点滴

    在netbeans下调试项目 1:测试路径: url:http://test.cy0551.com/iwebshop/ 索引文件:index.php 参数:controller=order&a ...

最新文章

  1. java 部署环境_Centos7部署JAVA环境
  2. 史上最神奇的公式,竟然藏着这么多秘密!
  3. 关系数据可视化gephi
  4. 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
  5. Windows DWrite 组件 RCE 漏洞 (CVE-2021-24093) 分析
  6. android之阴影效果
  7. 太强了,神州7号发射flash全程模拟!
  8. 1405 mysql 2800_mysql关于任何用户登录以及解决ERROR1405
  9. 使用frida获取微信EnMicroMsg.db 数据库密码
  10. 激活函数(激励函数)理解总结
  11. 主板电源接口测试软件,雷电接口加入! Intel原厂血统Z77测试
  12. chapter4.面对对象
  13. 用Python绘制一个简单的奥运五环
  14. SQL基础【一.DQL 数据查询语言】
  15. ajax向后台传递参数为对象实例
  16. Pvr_UnitySDKAPI
  17. 有了这个抠图滤镜,设计师再也不怕扣头发婚纱了!
  18. 计算机毕业设计Node.js+uniapp安卓在线民宿预定app(源码+程序+lw+远程调试)
  19. 编解码学习笔记(七) 微软Windows Media系列
  20. 用计算机弹暖暖数字代码,奇迹暖暖网页版计算器

热门文章

  1. Educational Codeforces Round 70 (Rated for Div. 2) - D. Print a 1337-string
  2. MSP432的PWM功能实现
  3. 27种改变人类生活的发明回顾--暑假最后一次更新我的博客
  4. data studio的字体设置
  5. 结构体 身高问题(深学思维)
  6. Cesium源码剖析---Clipping Plane
  7. 20181206 周四 日记
  8. 【DaVinci Developer专题】-13-Array IDT中使用Array定义“二维数组”类型(Implementation Data Type)
  9. 单片机c语言怎样设置闹钟,51单片机c语言电子钟(已加入调时、闹铃、整点报时功能).doc...
  10. 阿里云国际版Windows服务器磁盘空间不足该怎么办?