此存儲過程將檢查用戶名和密碼,如果憑據匹配則返回1
否則0
。此存儲過程是否容易受到SQL注入?
CREATE PROCEDURE usp_CheckPermisssions
@UserName NVARCHAR(50),
@Password NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS(SELECT 1 FROM dbo.Users WHERE [email protected] and [email protected])
RETURN 1
ELSE
RETURN 0
END
GO
這只是一個示例存儲過程。我只是想了解SQL注入技術,以防止我的代碼不被注入。
假設輸入未在前端進行消毒。
我知道如果我在存儲過程中使用動態查詢或在前端定義了查詢,那麼SQL注入技術將起作用。
不是:輸入將通過前端。
我的問題換句話說
任何人都可以做這個查詢注入?如果是,如何?拇指
爲什麼只有用戶輸入? – 2013-05-10 12:04:37
因爲這是第一條經驗法則。還有更多:P – 2013-05-10 12:06:26
爲什麼將一條規則分爲兩條?服務器源數據不能包含服務角色嗎? – 2013-05-10 12:07:39