java web 防止sql注入攻击_JavaWeb防注入知识点(一)
发布日期:2021-06-24 14:54:11 浏览次数:3 分类:技术文章

本文共 1028 字,大约阅读时间需要 3 分钟。

一、防sql注入办法

在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是为了防止sql注入,xss注入攻击的功能。总共提供了以下几个方法:

203723a0ff477e2a1bcd2f1c9133841e.png

1.escapeSql 提供sql转移功能,防止sql注入攻击,例如典型的万能密码攻击' ' or 1=1 ' '

StringBuffer sql = new StringBuffer("select key_sn,remark,create_date from tb_selogon_key where 1=1 ");

if(!CommUtil.isEmpty(keyWord)){

sql.append(" and like '%" + StringEscapeUtils.escapeSql(keyWord) + "%'");

}

2.escapeHtml /unescapeHtml  转义/反转义html脚本

System.out.println(StringEscapeUtils.escapeHtml("dddd"));

//输出结果为:dddd

System.out.println(StringEscapeUtils.unescapeHtml("dddd"));

//输出为:ddd3.escapeJavascript/unescapeJavascript 转义/反转义js脚本

System.out.println(StringEscapeUtils.escapeJavaScript(""));

//输出为:4.escapeJava/unescapeJava 把字符串转为unicode编码

System.out.println(StringEscapeUtils.escapeJava("中国"));

//输出为:用escapeJava方法转义之后的字符串为:/u4E2D/u56FD/u5171/u4EA7/u515A二、防js注入办法

如第一部分所说,可以使用commons-lang包后台转换实现;

还可以用 HTML 编码任何网站用户输入的数据,如: 使用 HTML 编码一个字符串的含意是什么呢?使用 HTML 编码字符串时,危险字符如 < 和 > 被替换为 HTML 实体,如 < 和 >。所以,当使用 HTML 编码字符串 时,它将转换为 。浏览器在解析编码的字符串时不再执行 JavaScript 脚本。而是显示无害的页面。

转载地址:https://blog.csdn.net/weixin_33478634/article/details/114132869 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java ssm 异常分类_SSM项目常见的异常与处理提示(一)
下一篇:java 返回实体对象_java 封装返回结果实体类 返回结果以及错误信息

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月30日 21时21分32秒