Csharp/C#教程:防止sql注入分享


防止sql注入

有没有办法通过使用存储过程来阻止SQL注入?

我有一个SQL查询

select column name from table where field ='@value' cmd.parameters.add('@value', value); 

我正在使用具有最少权限的参数化查询。 我如何编写一个基本的存储过程来防止SQL注入。 那可能吗?

  从表中选择列名称,其中field = @value  
   cmd.parameters.add('@ value',value); 

SQL参数避免了sql注入问题。

您只需要使用参数更改= condition。 检查以上查询。

据我所知,单独使用参数化查询应该已经阻止了sql注入攻击。

如果使用参数化查询,则不应该在@value( @value而不是'@value' )周围使用引号,前提是@value参数定义为字符串。

创建存储过程的方式与此类似。 @value将被定义为VARCHAR或其他东西,因此只接受字符串。 然后在存储过程中引用@value而不是'@value'

 CREATE PROCEDURE my_proc (IN @value VARCHAR(32)) BEGIN SELECT column name FROM table WHERE field = @value END 

C#

  cmd.parameters.Add("?value", value); 

已弃用

更新@Yogesh Bhadauirya说,

上述就是C#学习教程:防止sql注入分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  cmd.Parameters.AddWithValue("?value", value); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1012691.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐