java后台对前端输入的特殊字符进行转义

简介: 转自:http://www.cnblogs.com/yangzhilong/p/5667165.html  java后台对前端输入的特殊字符进行转义 HTML:常见的帮助类有2个:一个是spring的HtmlUtils,另外一个是apache.

转自:http://www.cnblogs.com/yangzhilong/p/5667165.html

 

 

java后台对前端输入的特殊字符进行转义

 

HTML:

常见的帮助类有2个:一个是spring的HtmlUtils,另外一个是apache.commons下的StringEscapeUtils

复制代码
 1 public static void testHtml(){  2     String str = "<a href='http://www.qq.com'>QQ</a><script>";  3     /**  4      *  Spring的HtmlUtils进行转义  5      */  6     //&lt;a href='http://www.qq.com'&gt;QQ&lt;/a&gt;&lt;script&gt;  7     System.out.println(org.springframework.web.util.HtmlUtils.htmlEscape(str));  8     //<a href='http://www.qq.com'>QQ</a><script>  9     System.out.println(org.springframework.web.util.HtmlUtils.htmlEscapeDecimal(str)); 10     //<a href='http://www.qq.com'>QQ</a><script> 11     System.out.println(org.springframework.web.util.HtmlUtils.htmlEscapeHex(str)); 12      13     /** 14      *  Spring的HtmlUtils进行还原 15      */ 16     //<a href='http://www.qq.com'>QQ</a><script> 17     System.out.println(org.springframework.web.util.HtmlUtils.htmlUnescape("&lt;a href='http://www.qq.com'&gt;QQ&lt;/a&gt;&lt;script&gt;")); 18     //<a href='http://www.qq.com'>QQ</a><script> 19     System.out.println(org.springframework.web.util.HtmlUtils.htmlUnescape("<a href='http://www.qq.com'>QQ</a><script>")); 20     //<a href='http://www.qq.com'>QQ</a><script> 21     System.out.println(org.springframework.web.util.HtmlUtils.htmlUnescape("<a href='http://www.qq.com'>QQ</a><script>")); 22      23     /** 24      *  apache的StringEscapeUtils进行转义 25      */ 26     //&lt;a href='http://www.qq.com'&gt;QQ&lt;/a&gt;&lt;script&gt; 27     System.out.println(org.apache.commons.lang.StringEscapeUtils.escapeHtml(str)); 28      29     /** 30      *  apache的StringEscapeUtils进行还原 31      */ 32     //<a href='http://www.qq.com'>QQ</a><script> 33     System.out.println(org.apache.commons.lang.StringEscapeUtils.unescapeHtml("&lt;a href='http://www.qq.com'&gt;QQ&lt;/a&gt;&lt;script&gt;")); 34 }
复制代码

JavaScript:

常见的帮助类有2个:一个是spring的JavaScriptUtils,另外一个是apache.commons下的StringEscapeUtils

复制代码
 1 public static void testJavascript(){  2     String js = "<script type='text/javascript'>var a=10;alert(a);</script>";  3     /**  4      *  Spring的JavaScriptUtils进行转义, 未提供还原的方法  5      */  6     //\u003Cscript type=\'text\/javascript\'\u003Evar a=10;alert(a);\u003C\/script\u003E  7     System.out.println(org.springframework.web.util.JavaScriptUtils.javaScriptEscape(js));  8       9     /** 10      *  apache的StringEscapeUtils进行转义 11      */ 12     //<script type=\'text\/javascript\'>var a=10;alert(a);<\/script> 13     System.out.println(org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(js)); 14     /** 15      *  apache的StringEscapeUtils进行还原 16      */ 17     //<script type='text/javascript'>var a=10;alert(a);</script> 18     System.out.println(org.apache.commons.lang.StringEscapeUtils.unescapeJavaScript(org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(js))); 19 }
复制代码

SQL:

apache.commons下的StringEscapeUtils

复制代码
/**  *  apache的StringEscapeUtils进行转义  */ String sql = "select * from table where username='" + org.apache.commons.lang.StringEscapeUtils.escapeSql("admin' or '1=1") + "' and password='admin'"; //select * from table where username='admin'' or ''1=1' and password='admin' System.out.println(sql);
复制代码

若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
26天前
|
前端开发 JavaScript 关系型数据库
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
这篇文章介绍了一个名为Vue3Admin的全栈后台应用,前端基于SoybeanAdmin二次开发,后端基于Nest.js。主要使用了Vue3.5、AntDesignVue、UnoCSS、Pinia等前端技术栈,以及Nest.js、PostgreSQL、Prisma等后端技术栈。文章详细描述了系统的功能设计,包括动态国际化语言配置、登录用户操作日志、用户和角色权限映射、动态路由菜单、消息公告发布及前端业务功能等。同时,也提供了项目运行所需的环境和依赖,以及如何拉取代码、安装依赖和启动项目的方法。最后,文章展示了项目的演示图,并对项目进行了总结,指出项目未经严格测试,仅供学习交流使用。
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
|
27天前
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
96 1
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
18天前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
15 1
|
3天前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
7 0
|
15天前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
17 0
|
2月前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
2月前
|
前端开发 搜索推荐 开发者
前端基础(三)_路径(绝对路径、相对路径)、语义化、特殊字符
本文介绍了前端开发中的路径概念(包括绝对路径和相对路径)、HTML的语义化以及特殊字符的使用。文章解释了绝对路径和相对路径的区别和应用场景,阐述了HTML语义化的意义和好处,并通过示例代码展示了如何在HTML中使用特殊字符。
44 0
|
3月前
|
运维 前端开发 Serverless
中后台前端开发问题之流程编排如何解决
中后台前端开发问题之流程编排如何解决
29 0
|
3月前
|
前端开发 算法 Serverless
中后台前端开发问题之保证用户的token等信息的唯一性和不可伪造性如何解决
中后台前端开发问题之保证用户的token等信息的唯一性和不可伪造性如何解决
43 0