当前位置: 首页 > news >正文

python 按字段查询数据库

1

@classmethod 
def query_by_index(cls, cursor, table_name, sql):cursor.execute(sql)return cursor.fetchall()

2 直接在SQL语句中f-string来插入参数 会增加SQL注入的风险

您可以直接在SQL语句中使用f-string来插入参数,但这样做可能会增加SQL注入的风险。如果instId参数来自不可信的源,那么恶意的输入可能会破坏SQL查询的结构并执行非预期的命令。

这就是为什么我们通常建议使用参数化查询,即使用占位符(如%s)并将参数作为元组传递给cursor.execute()方法。这样,数据库驱动程序将负责正确地转义参数,从而避免SQL注入攻击。

但是,如果您完全控制instId的值,并且确保它是安全的,那么可以直接在SQL语句中插入参数。

@classmethod 
def query_by_instId(cls, cursor, table_name, instId):cursor.execute(f"SELECT * FROM {table_name} WHERE instId = '{instId}'")return cursor.fetchall()

3 execute (instId,) 元组参数 %s 避免sql攻击

@classmethod 
def query_by_instId(cls, cursor, table_name, instId):cursor.execute("SELECT * FROM {table_name} WHERE instId = %s".format(table_name=table_name), (instId,))return cursor.fetchall()

相关文章:

  • Kubernetes rancher、prometheus、ELK的安装
  • flink状态和检查点
  • Xcode15 framework ‘CoreAudioTypes‘ not found
  • OTP语音 NV040C芯片在智能闹钟的应用
  • Mac安装opencvJava踩坑
  • VS Code Counter统计代码量(vscode扩展工具)
  • linux开机自动挂载目录
  • 怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载
  • 高防IP的原理
  • 〔001〕虚幻 UE5 安装教程
  • libwebsockets入门
  • 02|LangChain | 从入门到实战 -六大组件之Models IO
  • C++入门学习(1)命名空间和输入输出
  • 数据结构(c语言版) 队列
  • Docker从入门到上天系列第二篇:传统虚拟机和容器的对比以及Docker的作用以及所解决的问题
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【mysql】环境安装、服务启动、密码设置
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • IP路由与转发
  • JavaScript服务器推送技术之 WebSocket
  • Java程序员幽默爆笑锦集
  • Java面向对象及其三大特征
  • Laravel Telescope:优雅的应用调试工具
  • opencv python Meanshift 和 Camshift
  • Python 反序列化安全问题(二)
  • Spring框架之我见(三)——IOC、AOP
  • Vue UI框架库开发介绍
  • vue:响应原理
  • vuex 学习笔记 01
  • 对超线程几个不同角度的解释
  • 高程读书笔记 第六章 面向对象程序设计
  • 解决iview多表头动态更改列元素发生的错误
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端面试题总结
  • 如何实现 font-size 的响应式
  • 数据仓库的几种建模方法
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • # 数据结构
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (27)4.8 习题课
  • (C语言)球球大作战
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (六)vue-router+UI组件库
  • (三)模仿学习-Action数据的模仿
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (万字长文)Spring的核心知识尽揽其中
  • (转)一些感悟
  • .FileZilla的使用和主动模式被动模式介绍
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net Remoting(分离服务程序实现) - Part.3