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

Sqlite插入单引号和双引号,防止sql注入

1. 方法1

  • sqlite3_mprintf替换sprintf,
  • '%q'替换'%s'.

1.1. 举例

修改前代码

	//修改前, hello'123写入失败char sql[1000]char* sql = sprintf("UPDATE table SET name = '%s' WHERE name_id = %d","hello'123", 1);rc = sqlite3_exec(db, sql, NULL, NULL, &err_msg);if (rc != SQLITE_OK ){fprintf(stderr, "Failed to updata. \n");fprintf(stderr, "SQL error: %s\n", err_msg);sqlite3_free(err_msg);sqlite3_close(db);return -1;}/* 关闭 */sqlite3_close(db);return 0;

修改后代码

	//修改后,hello'123写入成功char* sql = sqlite3_mprintf("UPDATE table SET name = '%q' WHERE name_id = %d","hello'123", 1);rc = sqlite3_exec(db, sql, NULL, NULL, &err_msg);if (rc != SQLITE_OK ){fprintf(stderr, "Failed to updata. \n");fprintf(stderr, "SQL error: %s\n", err_msg);sqlite3_free(err_msg);sqlite3_close(db);sqlite3_free(sql);  //别忘了释放return -1;}/* 关闭 */sqlite3_close(db);sqlite3_free(sql);	//别忘了释放return 0;

2. 方法2

使用sqlite3_prepare_v2prepare方式。

sql_query.prepare("INSERT INTO tables VALUES(?, ?);");
sql_query.addBindValue("hello'123");
sql_query.addBindValue("hello");
sql_query.exec();
http://www.lryc.cn/news/331503.html

相关文章:

  • 代码随想录算法训练营第二十九天(回溯5)|491. 非递减子序列、46. 全排列、47. 全排列 II(JAVA)
  • 【CANN训练营笔记】AscendCL图片分类应用(C++实现)
  • 从头开发一个RISC-V的操作系统(二)RISC-V 指令集架构介绍
  • uniapp/设置桌面角标/发送系统通知/动态修改桌面应用图标/展示3d模型/仿淘宝二楼
  • 【Java八股学习】Redis高可用 思维导图
  • C++万物起源:类与对象(三)拷贝构造、赋值重载
  • JavaScript构造函数(new构造js对象与原型链prototype)
  • 【WPF应用31】WPF基本控件-ListView的详解与示例
  • 【动态】江西省小型水库安全监测能力提升试点项目通过验收
  • 前视声呐目标识别定位(九)-声呐驱动
  • 【详解】Windows系统安装Nginx及简单使用
  • WebGPU vs. WebGL:前端图形技术的进化与数字孪生的崭新前景
  • 即刻体验 | 使用 Flutter 3.19 更高效地开发
  • Exchanger 怎么用J.U.C
  • 校园局域网钓鱼实例
  • 网络原理 - HTTP / HTTPS(3)——http响应
  • Flask Python:模糊查询filter和filter_by,数据库多条件查询
  • leetcode 热题 100(部分)C/C++
  • 梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码
  • 如何通过Spring提供的EL表达式执行bean的属性或方法?
  • SSTI 服务器端模板注入(Server-Side Template Injection)
  • Vue.js---------Vue基础
  • 力扣经典150题第一题:合并两个有序数组
  • Git:日志修改
  • 【数据库】MySQL InnoDB存储引擎详解 - 读书笔记
  • GPT-2原理-Language Models are Unsupervised Multitask Learners
  • 逆向案例十二——看准网企业信息json格式的信息
  • docker安装jenkins 2024版
  • 输入url到页面显示过程的优化
  • Linux(centos7)部署hive