sprintf() 如何防止 SQL 注入?

2023-11-26

我听说过sprintf()防止 SQL 注入。这是真的吗?如果是这样,怎么办?

为什么人们建议这样编写查询:

$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = %s AND COL2 = %s',$col1,$col2);

sprintf 不会保护你!它仅取代%s

你必须 mysql_real_escape_string 这样:

$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = "%s" AND COL2 = "%s"',
mysql_real_escape_string($col1),
mysql_real_escape_string($col2));

注射更安全

注意:我建议你看一下PDO,这是我喜欢用于数据库连接和查询的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sprintf() 如何防止 SQL 注入? 的相关文章

  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • 如何在 Laravel 5.5 中编辑“页面因不活动而已过期”的视图

    在 Laravel 5 5 中 当您使用 CSRF 保护 默认情况下 并且在长时间不活动后发送发布请求时 您将收到此错误页面 屏幕截图 我对此错误表示同意 但是 我需要更改此错误的视图 文本以确保与我的应用程序风格和语言相匹配 关于如何编辑
  • 为什么我应该使用 $_GET 和 $_POST 而不是 $_REQUEST? [复制]

    这个问题在这里已经有答案了 除此之外 REQUEST从 cookie 读取 有什么理由我应该使用 GET and POST代替 REQUEST 这样做的理论和实践理由是什么 当我只想让用户的某些数据返回某些数据时 我使用 REQUEST 当
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 一次将多个值插入MySQL [重复]

    这个问题在这里已经有答案了 谁能解释一下为什么这个 PHP MySQL 不起作用 基本上我需要从表单中一次插入大量行 因此会有多个名称字段 多个短 中 长字段等 我收到此错误 Notice Undefined variable Short1
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • 需要 mysqli_fetch_all 的替代方案

    我有一个 php mysqli 代码 可以找到一个我的本地服务器 但是在我的服务器上使用它时 我得到了一个 Fatal error Call to undefined function mysqli fetch all in home3 t
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 在无文本搜索查询中使用 sphinx 与 MySQL

    我有这样的疑问 假设我有一个大表 与一个较小的用户表有关系 这个想法是在那个真正的大表中搜索大于给定日期的日期并按分数 例如大整数 排序 并同时获取相关的用户信息 此查询的结果大约每 10 分钟就会更改一次 所以 没有文本搜索 但我有一个非
  • 将秒转换为天、小时、分钟和秒

    我想转换一个变量 uptime这是秒 分为天 小时 分钟和秒 Example uptime 1640467 结果应该是 18 days 23 hours 41 minutes 这可以通过以下方式实现DateTime http php net
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 为什么运行 docker 容器后 mysql 数据所有权更改为 systemd-journal-remote

    我的mysql数据库存储在 home mysql代替 var lib mysql 该目录曾经属于mysql 但是 当我运行命令时docker compose up使用这个 yml 文件 version 3 services mariadb
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • 如何在客户端检查 YouTube 上是否存在视频

    我在做验证我的Youtube网址文本字段 我需要检查一下 如果Youtubeurl不存在我应该抛出错误 我按照这个answer并创建了jsfiddle检查它 它适用于有效的 url 但不适用于无效的 url 我所看到的只是 404 错误ne
  • Objective-C 中的异步调用

    我正在尝试从网站 xml 获取数据 一切正常 但是 UIButton 一直处于按下状态 直到返回 xml 数据 因此如果互联网服务出现问题 则无法纠正 并且应用程序实际上无法使用 以下是通话内容 AppDelegate appDelegat
  • Android studio 1.5.1:找不到属性“vectorDrawables”

    我正在使用 Android Studio 1 5 1 Gradle 2 8 和我的项目最小 sdk 版本 14 目标 sdk 版本 23 所以 当我通过 Google 文档将 vectorDrawables 添加到配置时 添加了 Vecto
  • 如何在字符串集合中高效查找指定长度的相同子串?

    我有一个收藏S 通常包含 10 50 个长字符串 出于说明目的 假设每个字符串的长度范围在 1000 到 10000 个字符之间 我想找到指定长度的字符串k 通常在 5 到 20 的范围内 是每个字符串的子串S 显然 这可以使用一种简单的方
  • UIButton改变位置

    我在 IB 中设置了一个按钮 我设置了 IBOutlet 并链接到它的屏幕对象 有没有办法以编程方式更改按钮位置和 或大小 我知道您可以更改标题和某些内容 但我不知道如何更改其位置或大小 现在我想相应地改变它的位置 是否可以 如果是 请告诉
  • Javascript:找到字符串中最长的单词

    function longestWord string var str string split var longest 0 var word null for var i 0 i lt str length 1 i if longest
  • 如何从剔除绑定中获取 DOM 元素?

    我已经使用淘汰赛将 DOM 元素绑定到 viewModel 当我更改底层模型上的属性时 它会更改 DOM 一切正常 但是 有没有办法获取绑定的 DOM 元素 以便当底层模型从外部更新时我可以向其中添加一个类 我使用了自定义绑定 它使我可以访
  • 什么时候可以完全优化掉 volatile 变量?

    考虑这个代码示例 int main void volatile int a static volatile int b volatile int c c 20 static volatile int d d 30 volatile int
  • 无法在 android studio 中创建 AVD

    我是安卓新手 我刚刚安装了 Android Studio 并创建了一个默认项目 现在我正在尝试创建 AVD 但无法创建 确定按钮未启用 请帮忙 附截图 问题是你没有安装系统镜像 请检查下图 要启动 SDK 管理器 请单击 Android S
  • 如何整合 Flask 和 Scrapy?

    我正在使用 scrapy 来获取数据 我想使用 Flask Web 框架在网页中显示结果 但我不知道如何调用烧瓶应用程序中的蜘蛛 我尝试过使用CrawlerProcess呼叫我的蜘蛛 但我收到这样的错误 ValueError ValueEr
  • 我无法查看 Android 版 Firebase Crashlytics 的崩溃详细信息,并卡在“构建并运行您的应用程序”上

    我在完成 Firebase 设置后尝试设置 Firebase Crashlytics 崩溃已成功发送 我可以在 firebase 仪表板中看到它们 但是当我进入 crashlytics 查看崩溃详细信息时 我陷入了第 3 步 构建并运行您的
  • iTerm 2 不支持 .tmux.conf 中声明的键绑定

    我正在使用最新稳定版本的 iTerm2 2 0 和最新的 Homebrew 版本的 tmux 1 9a 不幸的是 我的键绑定声明于 tmux conf不能在 集成模式 下使用 iTerm2 tmux 组合 即当 iTerm2 接管 tmux
  • 使用 Apache POI 进行低内存写入/读取

    我正在尝试编写一个相当大的 XLSX 文件 4M 单元 但遇到一些内存问题 我无法使用 SXSSF 因为我还需要读取模板中的现有单元格 我可以做些什么来减少内存占用吗 也许将流读和流写结合起来 为了用低内存处理大数据 最好的也是我认为唯一的
  • Linux 上的哪个库中有系统调用,该库如何链接到包含系统调用的可执行目标文件?

    我知道系统调用不在C 标准库中 是否有系统调用所在的库 某种系统库 如果有这样的库 这个库如何链接到可执行程序 A 系统调用可以以几种不同的方式工作 具体取决于目标架构 但无论如何 它是not图书馆的电话 它是正在运行的用户空间程序调用内核
  • 从静态库创建共享库时保留所有导出的符号

    我正在从静态库创建一个共享库 但我没有源代码 许多 Stack Overflow 问题都提供了answers关于如何做到这一点 gcc shared o libxxx so Wl whole archive libxxx a Wl no w
  • AngularJS 页面之间传递数据 + 页面刷新

    我试图在应用程序的结账过程中在页面之间传递数据 但它没有按应有的方式工作 我已经阅读了一些内容 大多数人建议使用服务 但唯一的问题是 当刷新页面时 用户单击刷新或稍后返回 服务中的所有数据都会消失 这是有道理的 因为服务中的数据并不意味着是
  • Java / 将 ISO-8601 (2010-12-16T13:33:50.513852Z) 转换为 Date 对象

    如何解析一个字符串ISO 8601格式与祖鲁时间 javax xml bind DatatypeConverter parseDateTime 2010 12 16T13 33 50 513852Z returns IllegalArgum
  • LibGDX 中 music.class 的 TweenAccessor

    我一直想知道 是否可以使用 LibGDX 中的通用 Tween 引擎来 例如 更改歌曲的音量 我用类似于我的 SpriteAccessor 的代码编写了自己的 MusicAccessor 它实际上适用于 Sprite class 但当涉及到
  • 在 PyCharm 中运行时,Tkinter 窗口显示为黑色

    无论我如何指定背景颜色 Tkinter 背景在运行脚本上都显示为黑色 我在 macOS 12 2 1 上使用 PyCharm CE 2021 3 2 Python解释器 Python 3 8 有5个包 如下 枕头9 0 1 未来0 18 2
  • sprintf() 如何防止 SQL 注入?

    我听说过sprintf 防止 SQL 注入 这是真的吗 如果是这样 怎么办 为什么人们建议这样编写查询 sql sprintf SELECT FROM TABLE WHERE COL1 s AND COL2 s col1 col2 spri