0
<%@ page import="java.sql.*"%>
<%
String userid = request.getParameter("uname");
String pwd = request.getParameter("pass");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "");
Statement st = con.createStatement();
ResultSet rs;
rs = st.executeQuery("select * from members where uname='" + userid
+ "' and pass='" + pwd + "'");
if (rs.next()) {
session.setAttribute("userid", userid);
//out.println("welcome " + userid);
//out.println("<a href='logout.jsp'>Log out</a>");
response.sendRedirect("index.jsp");
}
else {
out.println("Invalid password <a href='FirstPage.jsp'>try again</a>");
}
%>
이것은 로그인 페이지의 코드입니다.비어있는 사용자 이름과 암호를 입력하면 JSp에서 로그인 페이지가 작동하지 않습니다.
데이터베이스에서 유효성을 검사하고 사용자가 존재하는지 확인하고 있습니다. 사용자가 존재하면 로그인은 성공하고 그렇지 않으면 오류 메시지가 사용자에게 표시됩니다. 빈 사용자 이름과 암호로 로그인하려고하면 로그인 할 수도 있습니다.
내 코드를 확인하고 내가 잘못했는지 알려주십시오.
그냥 (!) 참고 : 당신은 당신의 스크립트가 SQL 주입에 매우 취약 알고 있습니다? – skiwi
테이블에 빈 레코드가 있습니까? – subash
하지만 내가 해달라고 그것은 ALl 브라우저에서 어떤 실수를 할 것입니까? – user2782773