我正在SQL Server上运行一个ASP.NET MVC应用程序,它似乎已被黑客攻击或SQL注入。数据库每天都在创建大量的新假账户,我还没有完全确定问题,但我担心我之前认为存储过程代码不受SQL注入的影响。
以下是我的存储过程代码的三个简短版本,请帮助我纠正它,如果它易受攻击,谢谢。
创建新用户:
CREATE PROCEDURE [dbo].[NEWUSER]
@Name varchar(50),
@Email varchar(70),
@Language varchar(20)
AS
SET NOCOUNT ON;
INSERT INTO dbo.User (name, email, language)
VALUES (@Name, @Email, @Language);
SET NOCOUNT OFF;
INSERT INTO dbo.Names (name)
VALUES (@Name);
SELECT @@IDENTITY
选择用户:
CREATE PROCEDURE [dbo].[GETUSER]
@Name varchar(33)
AS
SET NOCOUNT ON;
SELECT name, email, language FROM dbo.User WHERE name = @Name;
更新用户:
CREATE PROCEDURE [dbo].[EDITUSER]
@Name varchar(33),
@Email varchar(70)
AS
SET NOCOUNT ON;
UPDATE dbo.User SET email = @Email WHERE name = @Name;
请帮我解决这个问题,我真的很感激。
我的ASP.NET代码:http://www.cindro.com/all/database.txt
答案 0 :(得分:2)
您的存储过程看起来不错。我试着在某个地方查看你的应用程序代码。