【黑马程序员】登录时防止SQL注入漏洞攻击
2011-12-06 23:45
423 查看
----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
防止SQL注入漏洞攻击的方法:不使用SQL语句拼接,通过参数赋值。
使用SQL语句拼接时,用密码1' or '1'='1,可以登录成功。所以为了网站的安全,还是通过参数赋值的方式来登陆。
----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
防止SQL注入漏洞攻击的方法:不使用SQL语句拼接,通过参数赋值。
使用SQL语句拼接时,用密码1' or '1'='1,可以登录成功。所以为了网站的安全,还是通过参数赋值的方式来登陆。
class Program { static void Main(string[] args) { Console.WriteLine("请输入用户名:"); string username = Console.ReadLine(); Console.WriteLine("请输入密码:"); string pwd = Console.ReadLine(); using (SqlConnection conn = new SqlConnection("data source=.;database=ado;uid=ado;pwd=123;")) { conn.Open(); using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandText = "select count(*) from users where username='" + username + "'and password='" + pwd + "'"; //用以上的SQL语句拼接,会出现注入漏洞。。。。。用密码1' or '1'='1,都能登录成功 //参数赋值 //cmd.CommandText = "select count(*) from users where username=@UN and password=@PWD"; //cmd.Parameters.Add(new SqlParameter("UN", username)); //cmd.Parameters.Add(new SqlParameter("PWD", pwd)); int i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > 0) { Console.WriteLine("登录成功"); } else { Console.WriteLine("用户名或密码错误!"); } } } Console.ReadKey(); } }
----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 参数化SQL语句,防止SQL注入漏洞攻击 分类: ASP.NET 2012-03-09 09:57 2360人阅读 评论(0) 收藏
- 参数化SQL语句,防止SQL注入漏洞攻击
- 参数化SQL语句,防止SQL注入漏洞攻击
- 什么是sql注入,如何防止sql注入漏洞攻击
- ADO.NET防止SQL注入漏洞攻击,两种参数查询
- 【黑马程序员】参数化查询,避免sql注入漏洞攻击(学习笔记)
- php防止sql注入漏洞代码 && 几种常见攻击的正则表达式
- 黑马程序员-Java7爆最新漏洞,10年前的攻击手法仍有效-转
- 黑马程序员-Ado.net学习之参数化查询(防止sql注入)
- SQL注入漏洞产生的原因 ? 如何防止?
- Yii框架防止sql注入,xss攻击与csrf攻击的方法
- PHP代码网站如何防范SQL注入漏洞攻击建议
- sql注入漏洞攻击
- c# 登录 防止sql注入 mysql数据库
- Servlet课程0425(七) 到数据库中去验证用户,同时防止SQL注入漏洞
- PHP + Mysql 登录功能防止SQL注入的一个办法
- 使用参数化查询防止SQL注入漏洞
- 防止SQL注入漏洞简单方法
- PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数
- 预处理prepareStatement是怎么防止sql注入漏洞的?