【发布时间】:2015-07-10 18:59:21
【问题描述】:
我有一个使用 SQL 2012 作为数据库服务器的 ASP.Net MVC 应用程序。 我使用过视图、存储过程(有/无动态 sql 查询)。我听说动态 sql 可能是 sql 注入的受害者。
这是我的示例动态查询之一..
DECLARE @Username AS Varchar(100);
DECLARE @Password AS Varchar(100);
SET @Username = 'user1';
SET @Password = '123';
DECLARE @Query AS VARCHAR(MAX);
SET @Query = 'SELECT * FROM USERS WHERE Username ='+ @Username+ ' AND Password = '+@Password+';
EXEC(@Query)
如何编写此查询以防止 sql 注入?
【问题讨论】:
-
感谢您花时间做出正确的决定!!!太多人只是盲目地将这种代码投入生产,他们的网站就会被劫持。