說明:
預存程序可以防止SQL注入漏洞的威脅,也會很安全。該預存程序包含輸入參數和輸出參數,輸入參數有使用者ID和密碼,傳回值表示出不同的結果。
ALTER PROCEDURE [dbo].[Logining](@in_id varchar(10),@in_password varchar(10),@out_parameter varchar(10) output)/**@in_id 傳入參數 ID@in_password 傳入參數 密碼@out_parameter 傳出參數 0成功/1密碼錯誤/2目前狀態不可用或者其他原因*/ASdeclare @temp_password varchar(10);declare @temp_status varchar(10);declare @temp_blog varchar(10);declare @temp_event varchar(100);declare @temp_count int;select @temp_count=COUNT(*) from Users where ID=@in_id;select @temp_password= password from Users where ID=@in_id;select @temp_status= status from Users where ID=@in_id;set @temp_event='登入系統用戶端';--驗證密碼是否正確if(@temp_count<1)set @out_parameter=3; else beginif(@temp_password=@in_password) begin--驗證狀態是否可用 if(@temp_status=1)beginset @out_parameter=0; exec WriteBlog @in_id,@temp_event,@temp_blog output;endelsebeginset @out_parameter=2; endendelseset @out_parameter=1; end