我对ASP.NET登录控件有一个简单的问题。
我知道它可以防止SQL注入,但是当我使用“Authenticate”Sub(用于自定义身份验证方法)时,我想知道它是否也能保护?
我可以继续在SQL语句中使用'username'和'password'而不将它们编码为参数吗?欢呼声。
答案 0 :(得分:1)
SELECT * FROM aspnet_Membership AS INNER JOIN aspnet_Users AS B ON A.UserId = B.UserId WHERE B.UserName ='" &安培; Login1.UserName& "'和 A.Password ='" &安培; Login1.Password& "&#39 ;;"
以上SQL语句不安全。它容易受到SQL注入攻击。您想使用参数化查询。
例如,
SELECT *
FROM aspnet_Membership AS A INNER JOIN aspnet_Users AS B
ON A.UserId = B.UserId
WHERE B.UserName = @UserName AND A.Password = @Password