解析防网站登陆被破解的简单方法_.Net教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:asp.net程序中实现checkbox全选代码程序开发中经常会要用到checkbox的全选,通常情况下是在一些数据绑定控件中如gridview等。下面以repeater为例,在repeater的header和item中放入checkbox控件 asp:RepeaterID=rptGrouprunat=server HeaderTemplate tablewidth=100%cellspacing=1class
在大多数的基于数据库的身份认证登陆模块,大多数的程序员只是用一个简单的SQL查询语句来实现,这样很容易被用户以简单的( 1’ or ’1’=’1 )查询替换给破解.其实只要稍微的修改一下代码,便可以防止.具体请参看以下两个函数的实现:以下代码基于C#,数据库为Access
1. 未防止 1’ or ’1’=’1 替换的情况:
private bool ValidateUser(string LoginId, string LoginPwd)
{
bool isCorrect = false;
try
{
DBAccept.conn.Open();
string sql = String.Format("select UserName from UserManagement where [UserName]=’{0}’ and [Password]=’{1}’", LoginId, LoginPwd);
OleDbCommand command = new OleDbCommand(sql, DBAccept.conn);
if (command.ExecuteReader().HasRows)
{
isCorrect = true;
}
else
{
isCorrect = false;
MessageBox.Show("此管理员用户不存在或者密码错误,请重试", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show("操作数据库出错", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
DBAccept.conn.Close();
}
return isCorrect;
}
2.修正版,可正常阻止 1’ or ’1’=’1 登陆
private bool ValidateUser(string LoginId, string LoginPwd)
{
bool isCorrect = false; //定一个bool变量
try
{
DBAccept.conn.Open();
string sql = String.Format("select Password from UserManagement where [UserName]=’{0}’", LoginId);
OleDbCommand command = new OleDbCommand(sql, DBAccept.conn);
if (command.ExecuteScalar().ToString() == LoginPwd)
{
isCorrect = true;
}
else
{
isCorrect = false;
MessageBox.Show("此管理员用户不存在或者密码错误,请重试", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show("操作数据库出错", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
DBAccept.conn.Close();
}
return isCorrect;
}
分享:解析五种ADO.NET数据库连接知识ADO.NET提供了多种对象模型,比较典型的以下有五种,它们全部归类在System.Data.SqlClient名称空间下。 一、SqlConnection对象 ADO.NET使用SqlConnection对象与SQLServer进行连接。连接字符串的常用形式有两种: 1.使用Windows集成安全身份认证,例如:strin
相关.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程- 解析防网站登陆被破解的简单方法。