0
所以我只是搞乱了JSP并尝试创建一个登录表单,现在当我输入“test”作为用户名和“test”作为它应该登录的密码,因为该帐户是在数据库中创建的。它不是“登录”,而是显示“不正确的用户名:test”文本,然后在新行上显示从我写的方法返回的数据库值,即“test”。比较字符串都是正确的,但执行其他方式
请帮我解决这个问题,它真的开始打扰我了。
这是我的代码:
String userID = request.getParameter("username").trim();
String pass = request.getParameter("password").trim();
String corrUserID = MySQL.getString("SELECT username FROM users WHERE username='" + userID + "'", "username").toString();
String corrPass = MySQL.getString("SELECT password FROM users WHERE username='" + pass + "'", "password").toString();
if(corrUserID != "String" && corrPass != "String" && userID != "Username" && pass != "Password"){
if(userID == corrUserID){
if(pass == corrPass){
out.println("Logged in!");
response.sendRedirect("index.jsp");
}else{
out.println("Incorrect password.");
}
}else{
out.println("Incorrect username: " + userID + "<br/>" + corrUserID);
}
}else{
out.println("Please enter a valid username and password.");
}
**不要以明文存储密码** – SLaks 2013-04-29 17:22:59
您有一个SQL注入漏洞。 – SLaks 2013-04-29 17:23:40
不要阻止用户使用前导或尾随空格的密码。 – SLaks 2013-04-29 17:24:05