c# - 基于 C# 应用程序中的用户输入创建 SQL 数据库的安全方法
问题描述
我正在努力在互联网上自己寻找解决方案。
我最近了解到@parameters 不能用于表示数据库名称。
在我的情况下,每个用户都应该依赖于指定的数据库(出于多种原因)。我想过使用 sqlCommand 创建数据库,该数据库动态结合了 sql 命令和输入字符串,但被告知这是一个愚蠢的想法(我同意)。
我听说过 SMO,但不确定这是否会让我进入正确的位置。
也许有一种方法可以在用户提示时为数据库生成随机名称,然后将该名称与用户名一起存储在“主”数据库的表中以进行识别?
在我找到正确的解决方案之前,我几乎都会搁置工作。
解决方案
好吧,我能想到的一种方法是使用存储过程创建数据库。您可以将用户输入传递给 SPROC,并通过 sp_executesql 中的参数或使用 QUOTENAME 验证那里的输入。
推荐阅读
- ios - 如何使用 Flutter 打开 iPhone 上的默认电子邮件应用程序?
- angularjs - 将焦点移动到输入时的特定先前输入,AngularJs
- heroku - 将相同的裸域反向代理到不同的主机
- go - 获取库时对符号“gzclose”错误的未定义引用-去
- matrix - Julia pmap 速度 - 并行处理 - 动态规划
- javascript - 分层多个画布的效率如何?
- html - 下拉导航菜单的引导教程示例在 IE11 中不起作用
- aws-lambda - 如何在 aws lambda 函数中获取 node_modules 文件夹
- java - Android studio如何知道点击了哪个textview?
- python - TensorFlow Eager 执行不起作用