zoukankan      html  css  js  c++  java
  • SQL注入问题

    5. PreparedStatement:执行sql的对象
    		1. SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
    			1. 输入用户随便,输入密码:a' or 'a' = 'a
    			2. sql:select * from user where username = 'fhdsjkf' and password = 'a' or 'a' = 'a' 
    
    		2. 解决sql注入问题:使用PreparedStatement对象来解决
    		3. 预编译的SQL:参数使用?作为占位符
    		4. 步骤:
    			1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
    			2. 注册驱动
    			3. 获取数据库连接对象 Connection
    			4. 定义sql
    				* 注意:sql的参数使用?作为占位符。 如:select * from user where username = ? and password = ?;
    			5. 获取执行sql语句的对象 PreparedStatement  Connection.prepareStatement(String sql) 
    			6. 给?赋值:
    				* 方法: setXxx(参数1,参数2)
    					* 参数1:?的位置编号 从1 开始
    					* 参数2:?的值
    			7. 执行sql,接受返回结果,不需要传递sql语句
    			8. 处理结果
    			9. 释放资源
    
    		5. 注意:后期都会使用PreparedStatement来完成增删改查的所有操作
    			1. 可以防止SQL注入
    			2. 效率更高
    
  • 相关阅读:
    洛谷P1120-小木棍
    flask之注册功能
    python数据库操作-mysql数据库
    flask之数据库的交互
    flask之显示当地时间
    flask之url_for函数
    flask之Twitter Bootstrap
    flask之模板之继承
    flask之表单
    flask之jinjia2模板
  • 原文地址:https://www.cnblogs.com/wqkeep/p/11076094.html
Copyright © 2011-2022 走看看