解析防網(wǎng)站登陸被破解的簡單方法_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:asp.net程序中實(shí)現(xiàn)checkbox全選代碼程序開發(fā)中經(jīng)常會要用到checkbox的全選,通常情況下是在一些數(shù)據(jù)綁定控件中如gridview等。下面以repeater為例,在repeater的header和item中放入checkbox控件 asp:RepeaterID=rptGrouprunat=server HeaderTemplate tablewidth=100%cellspacing=1class
在大多數(shù)的基于數(shù)據(jù)庫的身份認(rèn)證登陸模塊,大多數(shù)的程序員只是用一個簡單的SQL查詢語句來實(shí)現(xiàn),這樣很容易被用戶以簡單的( 1’ or ’1’=’1 )查詢替換給破解.其實(shí)只要稍微的修改一下代碼,便可以防止.具體請參看以下兩個函數(shù)的實(shí)現(xiàn):以下代碼基于C#,數(shù)據(jù)庫為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("操作數(shù)據(jù)庫出錯", "失敗", 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("操作數(shù)據(jù)庫出錯", "失敗", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
DBAccept.conn.Close();
}
return isCorrect;
}
分享:解析五種ADO.NET數(shù)據(jù)庫連接知識ADO.NET提供了多種對象模型,比較典型的以下有五種,它們?nèi)繗w類在System.Data.SqlClient名稱空間下。 一、SqlConnection對象 ADO.NET使用SqlConnection對象與SQLServer進(jìn)行連接。連接字符串的常用形式有兩種: 1.使用Windows集成安全身份認(rèn)證,例如:strin
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET中數(shù)據(jù)庫的操作初步----增加、刪除、修改
- asp.net編程中實(shí)現(xiàn) MD5 加密
- 數(shù)據(jù)庫SqlParameter 的插入操作,防止sql注入的實(shí)現(xiàn)代碼
- 超簡單實(shí)現(xiàn) .NET開發(fā)類似Web Parts的功能
- Ajax實(shí)現(xiàn)評論中頂和踩功能的實(shí)例代碼
- ASP.NET 2.0中構(gòu)造個性化網(wǎng)頁
- ASP.NET 2.0的URL映射的實(shí)現(xiàn)方法
- ASP.NET 2.0中使用OWC生成圖表
- asp.net中javascript的引用(直接引入和間接引入)
- 解讀ASP.NET密碼強(qiáng)度驗(yàn)證代碼實(shí)例
- 相關(guān)鏈接:
- 教程說明:
.Net教程- 解析防網(wǎng)站登陸被破解的簡單方法
。