91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

登錄如何防止sql注入

小新
202
2021-01-03 14:51:52
欄目: 云計算

登錄如何防止sql注入

登錄防止sql注入的方法:

1.登錄查詢語句最好不要用連接字符串查詢,防止sql注入1‘or’1‘=’1,代碼如下:

string username="admin";

string password="123";

string str="連接字符串";

using(sqlconnection cnn=newsqlconnection(str))

{

using(sqlcommand cmd=cnn.createcommand())

{

cmd.commandtext="select count(*) from login where username='"+username+"'and password='"+password+"'";

int i=convert.toint32(cmd.executescalar());

if(i>3)

{

console.write("yes");

}

else

{

console.write("no");

}

}

}

2.登錄查詢語句最好要用,連接字符串來防止sql注入,例如:

string username="admin";

string password="123";

string str="連接字符串";

using(sqlconnection cnn=newsqlconnection(str))

{

using(sqlcommand cmd=cnn.createcommand())

{

cmd.commandtext="select count(*) from login where username=@username and password=@password";

cmd.parameters.add(new sqlparameter("username",username));

cmd.parameters.add(new sqlparameter("password",password));

int i=convert.toint32(cmd.executescalar());

if(i>3)

{

console.write("yes");

}

else

{

console.write("no");

}

}

}

3.限制錯誤登錄次數,例如:

private void incerrortimes()

{

using(sqlconnection cnn2=newsqlconnection(str))

{

using(sqlcommand cmd2=cnn2.createcommand())

{

cmd2.commandtext="update login set errortimes=errortimes+1 where username=@username";

cmd2.parameters.add(new sqlparameter("username",username));

cmd2.executenonquery();

}

}

}

private void reseterrortimes()

{

using(sqlconnection cnn2=newsqlconnection(str))

{

using(sqlcommand cmd2=cnn2.createcommand())

{

cmd2.commandtext="update login set errortimes=0 where username=@username";

cmd2.parameters.add(new sqlparameter("username",username));

cmd2.executenonquery();

}

}

}

using(sqlconnection cnn=newsqlconnection(str))

{

using(sqlcommand cmd=cnn.createcommand())

{

cmd.commandtext="select * from login where username=@username";

cmd.parameters.add(new sqlparameter("username",username));

using(sqldatareader reader=cmd.executereader())

{

if(reader.read())

{

int errortimes=convert.toint32(read["errortimes"]);

if(errortimes>3)

{

console.write("登錄錯誤次數過多,禁止登錄");

return;

}

string dbpassword=read["password"];

if(password=dbpassword)

{

console.write("登錄成功");

reseterrortimes()

}

else

{

console.write("登錄失敗");

incerrortimes();

}

}

else

{

console.write("用戶名不存在");

}

}

}

}

0
九龙坡区| 拉孜县| 深州市| 阳山县| 贡嘎县| 资源县| 临朐县| 临桂县| 南涧| 阳信县| 河东区| 洛扎县| 泰来县| 元朗区| 平阳县| 青川县| 达日县| 苍山县| 安徽省| 万年县| 昌邑市| 曲靖市| 南澳县| 理塘县| 建水县| 郯城县| 辉南县| 兴安盟| 柯坪县| 林芝县| 泗水县| 英吉沙县| 固始县| 安图县| 香格里拉县| 阳朔县| 鄂托克旗| 班玛县| 太原市| 新田县| 武强县|