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);
复制代码

若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
11天前
|
前端开发 小程序 Java
uniapp上传图片 前端以及java后端代码实现
uniapp上传图片 前端以及java后端代码实现
28 0
|
30天前
|
前端开发 JavaScript 数据安全/隐私保护
推荐6款超级好看的开源中后台前端框架
推荐6款超级好看的开源中后台前端框架
50 0
|
30天前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
1月前
|
前端开发 JavaScript Java
|
1月前
|
Java
38、Java 中的正则表达式(单字符匹配和预定义字符)
38、Java 中的正则表达式(单字符匹配和预定义字符)
18 0
|
2月前
|
Java
Java CSV文件写入、特殊字符处理等
1、生成CSV文件时要处理双引号、逗号、回车和中文字符
71 1
|
2月前
|
Java
java字符串练习题4、统计一行字符串中所有的字符类型数量
java字符串练习题4、统计一行字符串中所有的字符类型数量
27 0
|
2月前
|
机器学习/深度学习 Java
java字符串练习题3、字符串中字符是否相同判断
java字符串练习题3、字符串中字符是否相同判断
26 0
|
3月前
|
前端开发 JavaScript Java
从前端开发的视角来搭建本地java开发环境
从前端开发的视角来搭建本地 java 开发环境,其实主要也就 java 环境、maven 包管理工具、IntelliJ IDEA 开发工具这3个方面,对应前端中的 nodejs 环境、npm 包管理工具、vscode 开发工具。
38 1
|
3月前
|
监控 小程序 前端开发
C#医院预约挂号小程序源码(前端+后台)
线上预约挂号系统构建了医院和患者的连接,通过改善患者院内的就医服务流程,以微信公众号、支付宝小程序为患者服务入口,为居民提供导诊、预约、支付、报告查询等线上线下一体化的就医服务,缩短患者就诊环节,提高医疗机构服务效率。
79 0