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注入 ,效率更高。

  1. 新增
  2. 删除
  3. 更新
  4. 查询

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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注入问题及预防方法相关推荐

  1. SQL注入原理及预防SQL注入的方法

    网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露.下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听 ...

  2. java 最新sql注入原因以及预防方案(易理解)

    前沿 在现有的框架中sql防注入已经做得很好了,我们需要做的就是尽量不要使用sql拼接调用 java sql注入原因以及预防方案(易理解) 1. SQL注入 1.1 原理 SQL注入是通过客户端的输入 ...

  3. 防止SQL注入攻击的一些方法小结

    SQL注入攻击的危害性很大.在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理.这有利于管理员采取有针对性的防治措施.一. SQL注入攻击的简单示例.statement := " ...

  4. PHP防SQL注入代码,PHP 预防CSRF、XSS、SQL注入攻击

    1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数. (1).Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单 ...

  5. jsp工程防止外部注入_防止 jsp被sql注入的五种方法

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  6. 报表工具的 SQL 植入sql注入风险及规避方法

    原文链接:http://c.raqsoft.com.cn/article/1561683907950?r=CGQ 互联网时代带来方便的同时也带来了安全隐患,各种安全问题可说是防不胜防,特别是大家日益关 ...

  7. java防止sql注入方正_有效防止SQL注入的5种方法总结

    sql注入入门 SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQ ...

  8. SQL注入原理与解决方法

    一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...

  9. 网站mysql防止sql注入攻击 3种方法总结

    mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...

最新文章

  1. 面试造飞机系列:volatile面试的连环追击,你还好吗?
  2. JavaScript V8引擎编译
  3. java nashorn maven_使用mvn创建java工程的极简教程
  4. 触发器及其应用实验报告总结_双面喷绘材料的分类及其应用,超全总结!(建议收藏)...
  5. 批量执行定时任务_执行批量维护任务安全策略
  6. mysql 常用字段类型_mysql 常用字段类型
  7. python杂记-6(timedatetime模块)
  8. 分享一个网盘:千脑网
  9. Knoll Light Factory 3.2 for mac完整汉化版|灯光工厂 for mac中文版
  10. 创 业 项 目 计 划 书 样 本
  11. 日常交通工具日语词汇
  12. 网易云信 UI 开发
  13. 微信小程序云开发数据库操作
  14. 一位卖家对淘宝查杀虚假交易痛讼!
  15. 如何配置本地yum源
  16. 去角质剂和磨砂膏行业调研报告 - 市场现状分析与发展前景预测
  17. 基于蘑菇博客建设个人SNS网站(二)--后台框架搭建
  18. 运行结果是随机数——我帮你解决
  19. 利率为0.8%,求需要多少个月才能还清?
  20. unity Text文字淡入效果

热门文章

  1. python递归实现_Python-递归实现
  2. 2019-03-18-算法-进化(删除链表的倒数第N个节点)
  3. 莫比乌斯,欧拉函数题目练习(完结)
  4. P1297 [国家集训队]单选错位 期望
  5. CF653F. Paper task
  6. G - Caesar Cipher Gym - 102798G
  7. 2020CCPC威海
  8. P2714-四元组统计【数论,容斥】
  9. POJ2228-Naptime【环形结构上的dp】
  10. 牛客练习赛 57——manacher算法 树形dp?