我正在 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