SQL注入问题及预防方法
SQL注入问题
sql存在漏洞,会被攻击导致数据泄露 SQL会被拼接 or
package com.kuang.lesson02;
import com.kuang.lesson02.utils.jdbcUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SQL注入 {public static void main(String[] args) throws SQLException {//SQL注入login("sanjin","123456");
// login("' or '1=1","123456");}public static void login(String name,String password) throws SQLException {Connection conn =null;Statement st = null;ResultSet rs =null;try {conn = jdbcUtils.getConnection();//获取连接st = conn.createStatement();//获取SQL执行对象String sql = "select * from users where `NAME`='"+ name +"' AND `PASSWORD`='"+ password +"'" ;rs=st.executeQuery(sql);//查询完毕返回结果集while (rs.next()){System.out.println(rs.getString("NAME"));}jdbcUtils.release(conn,st,rs);} catch (Exception e) {e.printStackTrace();}finally {jdbcUtils.release(conn,st,rs);}}
}
PreparedStatement对象
PreparedStatement 可以防止SQL注入 ,效率更高。
- 新增
- 删除
- 更新
- 查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g2bWtm8m-1609070543587)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images\image-20201227170521886.png)]
package com.kuang.lesson03;
import com.kuang.lesson02.utils.jdbcUtils;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test01 {public static void main(String[] args) throws SQLException {Connection connection= null;PreparedStatement pstm=null;try {connection = jdbcUtils.getConnection();//区别//使用问好占位符代替参数String sql = "insert into users(id,`NAME`) values(?,?)";pstm = connection.prepareStatement(sql);//预编译sql,先写sql然后不执行//手动赋值pstm.setInt(1,6);pstm.setString(2,"SANJIN");//执行int i = pstm.executeUpdate();if (i>0){System.out.println("插入成功");}} catch (Exception e) {e.printStackTrace();}finally {jdbcUtils.release(connection,pstm,null);}}
}
防止SQL注入本质,传递字符 带有“ ”,转义字符会被转义
SQL注入问题及预防方法相关推荐
- SQL注入原理及预防SQL注入的方法
网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露.下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听 ...
- java 最新sql注入原因以及预防方案(易理解)
前沿 在现有的框架中sql防注入已经做得很好了,我们需要做的就是尽量不要使用sql拼接调用 java sql注入原因以及预防方案(易理解) 1. SQL注入 1.1 原理 SQL注入是通过客户端的输入 ...
- 防止SQL注入攻击的一些方法小结
SQL注入攻击的危害性很大.在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理.这有利于管理员采取有针对性的防治措施.一. SQL注入攻击的简单示例.statement := " ...
- PHP防SQL注入代码,PHP 预防CSRF、XSS、SQL注入攻击
1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数. (1).Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单 ...
- jsp工程防止外部注入_防止 jsp被sql注入的五种方法
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- 报表工具的 SQL 植入sql注入风险及规避方法
原文链接:http://c.raqsoft.com.cn/article/1561683907950?r=CGQ 互联网时代带来方便的同时也带来了安全隐患,各种安全问题可说是防不胜防,特别是大家日益关 ...
- java防止sql注入方正_有效防止SQL注入的5种方法总结
sql注入入门 SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQ ...
- SQL注入原理与解决方法
一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...
- 网站mysql防止sql注入攻击 3种方法总结
mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...
最新文章
- 面试造飞机系列:volatile面试的连环追击,你还好吗?
- JavaScript V8引擎编译
- java nashorn maven_使用mvn创建java工程的极简教程
- 触发器及其应用实验报告总结_双面喷绘材料的分类及其应用,超全总结!(建议收藏)...
- 批量执行定时任务_执行批量维护任务安全策略
- mysql 常用字段类型_mysql 常用字段类型
- python杂记-6(timedatetime模块)
- 分享一个网盘:千脑网
- Knoll Light Factory 3.2 for mac完整汉化版|灯光工厂 for mac中文版
- 创 业 项 目 计 划 书 样 本
- 日常交通工具日语词汇
- 网易云信 UI 开发
- 微信小程序云开发数据库操作
- 一位卖家对淘宝查杀虚假交易痛讼!
- 如何配置本地yum源
- 去角质剂和磨砂膏行业调研报告 - 市场现状分析与发展前景预测
- 基于蘑菇博客建设个人SNS网站(二)--后台框架搭建
- 运行结果是随机数——我帮你解决
- 利率为0.8%,求需要多少个月才能还清?
- unity Text文字淡入效果