SqlParameter 不允许表名 - 其他选项没有 sql 注入攻击?

2023-11-23

我收到运行时错误说"Must declare the table variable "@parmTableName"。这意味着不允许在 sql 语句中将表名作为 sql 参数。

是否有比允许 sql 注入攻击更好的选择或建议?我不想为 sql 语句执行此 C# 脚本" DELETE FROM " + tableName + " ";

using(var dbCommand = dbConnection.CreateCommand())
{
   sqlAsk = "";
   sqlAsk += " DELETE FROM @parmTableName ";
   sqlAsk += " WHERE ImportedFlag = 'F' ";

   dbCommand.Parameters.Clear();
   dbCommand.Parameters.AddWithValue("@parmTableName", tableName);

   dbConnection.Open();

   rowAffected = dbCommand.ExecuteNonQuery();
}

去获取白名单。只能有一组固定的possible无论如何,表名的值是正确的 - 至少,所以我希望如此。

如果您没有表名白名单,您可以从以下白名单开始:人物- 如果你将其限制为 A-Z、a-z 和 0-9(根本没有标点符号),那么应该可以消除很多担忧。 (当然,这意味着您不支持具有奇怪名称的表......我们真的不知道您的要求。)

但是不行,您不能将参数用于表名或列名,只能使用值。这在数据库中是典型的情况;我不记得见过哪一个did支持参数。 (我敢说当然有一些......)

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

SqlParameter 不允许表名 - 其他选项没有 sql 注入攻击? 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • jQuery 选择器 - 其中项目没有特定类别的子项

    我想选择属于 nav 直接子项的列表项 它们本身没有具有 活动 类的直接子项 我认为应该是这样 但它不起作用 nav gt li not gt a active 您可以这样做 nav gt li not has a active
  • Ada 中的自定义“图像属性”?

    所以我有一件事 type Thing is new record elements end record 我有一个将其字符串化的函数 function ToString t Thing returns string 我希望能够告诉 Ada
  • 在现有映射对象中添加或覆盖 aes

    这是最小的情况 df lt data frame x 1 5 y 1 col 1 5 mapping lt aes x x y y ggplot df mapping geom point size 10 现在我想在现有的基础上添加 或覆盖
  • Linux 中的优雅关闭服务器套接字

    我希望能够停止侦听 Linux 中的服务器套接字 并确保从客户端角度打开的所有连接都得到正确处理并且不会突然关闭 即 接收 ECONNRESET ie sock create socket listen sock non zero back
  • 使用 jquery contains 更改 div 中文本的颜色

    这里 div 内的整个文本都变成红色 但我只需要改变 bar 字的颜色
  • 在 WooCommerce 中以编程方式创建可变产品和两个新属性

    我想以编程方式创建一个具有两个新变量属性的变量产品 父 产品 所有这些属性都来自 WordPress 插件 因此没有对 API 的 HTTP 请求 这两个变量属性也应该动态创建 如何才能做到这一点 使用 WooCommerce 版本 3 更
  • 如何获取SceneKit中子节点旋转后的真实位置?

    我正在使用 SceneKit 开发一个场景 我有一个带有子节点的主节点 Main node SCNNode planet SCNNode node planet geometry SCNSphere sphereWithRadius 2 p
  • C# 中如何检查两个字符串是否部分匹配? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有为 C 编写的模糊搜索或字符串相似性函数库 我正在创建一个应用程序 它将排除用户输入的歌曲或艺术家或专辑名称 然后将查找字符串数组或数组列表以查找任何可能的匹配项 自动建议将根据匹配百分比计算
  • iOS 如何在没有堆栈跟踪的情况下调试崩溃,例如: [__NSArrayM objectAtIndex:]: 索引 0 超出空数组的范围?

    我试图关闭模态视图控制器并收到以下错误 由于未捕获的异常 NSRangeException 而终止应用程序 原因 NSArrayM objectAtIndex 索引 0 超出空数组的范围 有一次我花了 4 个小时尝试调试这样的错误 谁能告诉
  • JVM 如何知道运行时在哪里捕获异常?

    据我了解 throw是一个原始的 jvm 命令 当调用它时 JVM 检查当前调用堆栈是否可以捕获它 如果不能 那么 java 只是弹出调用堆栈 几乎就像调用 return 一样 然后jvm 检查当前调用堆栈是否可以捕获它 递归地依此类推 我
  • os.exec* 的第一个参数

    来自 python 文档 各种 exec 函数采用 新程序的参数列表 加载到进程中 在每种情况下 这些参数中的第一个被传递 将新程序作为自己的名称 而不是作为用户可能的参数 已在命令行中输入 为了 C程序员 这是argv 0 传递给程序的
  • .NET WebApi 身份验证

    目前 我有一个销售小部件的 MVC Web 应用程序 用户使用表单身份验证登录我们的系统 然后可以根据他们所属的组执行各种功能 即下订单 查看订单 取消订单等 我们的任务是编写一个 API 让第三方能够在我们的系统中创建和查看订单 每个第三
  • 如何在 Django 中为外键字段定义 __str__ 方法?

    我如何定义strDjango 中外键字段的方法 下面的代码不起作用 class A models Model name models ForeignKey B def str self return self name 如果你的型号B ha
  • Struts 1.x 与 Struts 2.x

    我已经回顾了一些关于 SO 的 Struts 1 vs 2 问题 但似乎没有一个能从我正在看待的角度回答这个问题 我即将开始构建一个新系统 对一个非常旧的桌面应用程序进行彻底的重新设计 目标是使其基于网络 添加更多功能 使其更可用等 通常的
  • 计算 QR 码对齐图案的位置

    我需要知道如何计算 QR 码对齐图案的位置 如中定义ISO IEC 18004 2000 附录 E 表 我不明白它是如何计算的 例如 如果您采用版本 16 则使用 6 26 50 74 计算位置 点之间的距离为 20 24 24 如果点之间
  • 如何制作自解压并运行安装程序

    因此 目前我的用户下载一个 zip 文件 将其解压缩 然后运行 setup exe 我希望他们只需单击一下即可完成此操作 使用http www wikihow com Use 7Zip to Create Self Extracting e
  • Android Marshmallow“无法播放此视频”错误

    我正在将应用程序升级到 android 6 0 一切似乎都很好 除了尝试从远程源播放某些视频时除外 它们在我们的非 Marshmallow 设备上播放得很好 具体来说 我有一台运行 4 1 2 Jelly Bean 的 Galaxy S3
  • 通过键连接两个地图

    我有两张地图 Map
  • 将字符串转换为 BASE62

    我正在寻找将字符串转换为 BASE62 的 C 代码 如下所示 http www molengo com base62 title base62 encoder decoder 我需要那些用于 URL 编码的编码和解码方法 BINARY 到
  • SqlParameter 不允许表名 - 其他选项没有 sql 注入攻击?

    我收到运行时错误说 Must declare the table variable parmTableName 这意味着不允许在 sql 语句中将表名作为 sql 参数 是否有比允许 sql 注入攻击更好的选择或建议 我不想为 sql 语句