加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

.NET / SQL中的参数表名称?

发布时间:2020-12-12 08:42:36 所属栏目:MsSql教程 来源:网络整理
导读:正如主题所示,我希望能够使用.NET传递表名称(无论使用哪种语言)和SQL Server. 我知道如何做这个值,例如command.Parameters.AddWithValue(“whatever”,无论如何)在查询中使用@whatever来表示参数.事情是我处于某种情况,我希望能够与查询的其他部分(如列和表名
正如主题所示,我希望能够使用.NET传递表名称(无论使用哪种语言)和SQL Server.

我知道如何做这个值,例如command.Parameters.AddWithValue(“whatever”,无论如何)在查询中使用@whatever来表示参数.事情是我处于某种情况,我希望能够与查询的其他部分(如列和表名称)一起执行此操作.

这不是一个理想的情况,但它是我必须使用的,它不是真的很容易SQL注入,因为只有使用代码的人可以设置这些表名,而不是最终用户.这是凌乱的.

那么我正在询问可能吗?

编辑:要清楚SQL注入的意义,表名只能通过源代码传递,具体取决于具体情况.是指定这个的开发者.开发人员无论如何都可以访问数据库层,所以我问的原因不在于安全性,只是为了使代码更清洁.

解决方法

我不认为我曾经看到过我所见过的任何SQL方言中的这种能力,但这不是专业领域.

我建议将字符限制为AZ,az,0-9,’.’,’_’和” – 然后使用任何适当的包围数据库(例如,[SQL Server的相关信息])来包装整个事情.然后直接将它放在SQL中.

这不是完全清楚你不是一个SQL注入风险的意思 – 你的意思是名字将在源代码中,只有源代码?如果是这样,我同意让事情变得更好.您可能甚至不需要自动执行包围,如果您信任您的开发人员不要成为cretins(故意或不是).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读