C#如何使用ASP.NET阻止SQL注入?

Hug*_*uis -2 c# sql asp.net ms-access

我有一个页面,它将为我的网络应用程序生成一个AuthKey.我正在使用Access数据库数据库(只是在本地尝试它,稍后我将步入SQL Server).在我的代码隐藏中,我使用C#作为我的编写语言.

这是我的代码:

using System.Data.OleDb;
OleDBCommand cmd = new OleDBCommand();
cmd.CommandText = "insert into AuthKeys (AuthKey, User_Assign,locatedAt) values(@AuthKey, @idstr, 'Dashboard')";
cmd.Parameters.Add("@AuthKey", OleDbTypes.<sometype>).Value = AuthKey;
cmd.Parameters.Add("@idstr", OleDbTypes.<sometype>).Value = idstr;
Run Code Online (Sandbox Code Playgroud)

idstr == userName AuthKey ==代码生成密钥(GUID)但是正如我注意到的,这个应用程序非常容易受到SQL注入攻击.所以我的问题是:如何防止SQL注入?

编辑:我的问题与这个论坛帖子有关:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/94608549-6fee-4c01-82ae-601ed7c20327/getting-errors-with-insert-into ?论坛= sqlnetfx#e933c92b-8d0a-4b40-906f-2d335b30b6d4

Pat*_*man 6

但正如我所注意到的,这个应用程序非常容易受到SQL注入攻击.

不它不是.由于您已经使用了参数,因此无法篡改实际的SQL语句.您的代码中没有SQL注入漏洞.