pymysql
时间:2020-04-26
本文章向大家介绍pymysql,主要包括pymysql使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python代码连接mysql数据库
有bug(sql注入的问题):
#pip3 install pymysql import pymysql user=input('user>>: ').strip() pwd=input('password>>: ').strip() # 建立链接 conn=pymysql.connect( host='192.168.10.15', port=3306, user='root', password='123', db='db9', charset='utf8' ) # 拿到游标 cursor=conn.cursor() # 执行sql语句 sql='select * from userinfo where user = "%s" and pwd="%s"' %(user,pwd) rows=cursor.execute(sql) cursor.close() conn.close() # 进行判断 if rows: print('登录成功') else: print('登录失败')
在sql语句中 --空格 就表示后面的被注释了,所以密码pwd就不验证了,只要账户名对了就行了,这样跳过了密码认证就是sql注入
改进版(防止sql注入)
#pip3 install pymysql import pymysql user=input('user>>: ').strip() pwd=input('password>>: ').strip() # 建立链接 conn=pymysql.connect( host='192.168.10.15', port=3306, user='root', password='123', db='db9', charset='utf8' ) # 拿到游标 cursor=conn.cursor() # 原来的执行sql语句 # sql='select * from userinfo where user = "%s" and pwd="%s"' %(user,pwd) # print(sql) # 现在的 sql='select * from userinfo where user = %s and pwd=%s' rows=cursor.execute(sql,(user,pwd)) cursor.close() conn.close() # 进行判断 if rows: print('登录成功') else: print('登录失败')
原文地址:https://www.cnblogs.com/shengjunqiye/p/12781630.html
- 浏览器缓存问题的解决
- nginx下目录浏览及其验证功能、版本隐藏等配置记录
- Sqlite的多表连接更新
- Enterprise Library 4.1学习笔记6----加密应用程序块
- 浅谈数据库主键策略
- nginx应用总结(1)--基础认识和应用配置
- nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
- Enterprise Library 4.1学习笔记5----实体验证程序块
- Python防止sql注入
- 电工学PLC编程的入门建议
- 人工智能、区块链、图灵测试……这30个大数据热词你真的都懂吗?
- Enterprise Library 4.1学习笔记4----缓存应用程序块
- 设置py文件的路径
- jenkins中通过git发版操作记录
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 最全总结 | 聊聊 Python 数据处理全家桶(Redis篇)
- 虚拟机安装mikrotik-ROS
- 搬砖武士|手把手教你在容器服务 TKE 上使用 LB直通 Pod
- linux安装snmp服务-ubuntu
- 企业微信机器人
- Kubernetes 新玩法:在 YAML 中编程
- 全网最实用 Python 面试题大全(花费了整整 3 天时间整理出来的)
- paramiko模块
- Loki 和 Fluentd 的那点事儿
- Hive改表结构的两个坑|避坑指南
- 随机爬取网易云音乐评论
- 零散的MySQL基础总是记不住?看这一篇就够了!
- Hive SQL使用过程中的奇怪现象|避坑指南
- ROS-大陆路由表rsc脚本生成
- 用户行为分析之数据采集