此存储过程将检查用户名和密码,1
如果凭据匹配 else 则返回0
。
CREATE PROCEDURE usp_CheckPermisssions
@UserName NVARCHAR(50),
@Password NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS( SELECT 1 FROM dbo.Users WHERE Username=@username and Password=@password)
RETURN 1
ELSE
RETURN 0
END
GO
这只是一个示例存储过程。我只是想了解一下SQL注入技术,以防止我的代码不被注入。
假设输入没有在前端进行清理。
我知道如果我在存储过程中使用动态查询或在前端定义查询,那么 SQL 注入技术将起作用。
不:输入将通过前端传递。
换句话说我的问题
任何人都可以对这个查询进行注入吗?如果是,如何?