博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java web 防止sql注入攻击_JavaWeb防注入知识点(一)
阅读量:1540 次
发布时间:2019-04-21

本文共 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 脚本。而是显示无害的页面。

转载地址:http://zfldy.baihongyu.com/

你可能感兴趣的文章
将使用Springboot发布web项目,并将之发布到Tomcat容器中
查看>>
Springboot整合Mybatis
查看>>
git上传分支流程
查看>>
Python语法细节知识点(一)
查看>>
docker 查看本地挂载目录与端口
查看>>
使用docker拉取的mysql,时间不正确问题
查看>>
使用elementui,upload组件,既要上传文件,又要提交表单
查看>>
前端-如何将网页保存为图片
查看>>
Maven中关键词的含义
查看>>
Nacos集群构建(windos版)
查看>>
SpringBoot整合mail,发送邮件
查看>>
Docker常用命令
查看>>
SpringBoot整合Swagger
查看>>
Element UI 使用表单校验,正确输入后,仍然有提示信息
查看>>
“FlowLayout”,“CardLayout”布局管理器
查看>>
Java中多线程的使用(一)
查看>>
Java中如何让界面内的时间,及时更新
查看>>
R语言学习笔记之set.seed()函数与table函数
查看>>
关于使用Rstudio不能画图问题
查看>>
关于Date,与html中Date,数据库(mysql)Date,以及Java(Date)的关系与使用
查看>>