2012-10-27 2 views
0

등록 양식에서 사용자 이름과 비밀번호를 가져오고 MS 액세스 데이터베이스에 저장합니다. 그렇게하면 데이터베이스의 암호 열에 "null"이 표시됩니다. 그래서 로그인 페이지가 제대로 작동하지 않습니다. 나는 무엇을해야합니까?서블릿 페이지에서 ms 액세스 데이터베이스에 비밀번호 저장

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con =DriverManager.getConnection("Jdbc:Odbc:db5"); 
Statement smt = con.createStatement(); 
String str = 
    "insert into table1(name1,sex,age,email,pwd,info) " 
    + "values('" + name + "','" + sex + "','" + age + "','" 
    + email + "','" + pwd + "','" + info + "')"; 
int val=smt.executeUpdate(str); 
+2

가장 먼저 점은 SQL 주입 공격을 방지하기 위해'PreparedStatement'와 그 정책을 대체하는 것입니다. – Vikdor

+0

서블릿에서 암호를 검색하는 방법이 명확하지 않습니다. null이 아닌지 확인하기 전에 데이터베이스에 저장하기 전에 인쇄 해 보았습니까? – Vikdor

+0

암호를 전혀 저장하면 안됩니다. * 해시 *를 저장해야합니다. *** 매우 중요한 법적 결과가 있습니다 *** 귀하의 법인 변호사에게 '부인 방지'라는 단어를 보냅니다. – EJP

답변

0
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con =DriverManager.getConnection("Jdbc:Odbc:db5"); 
Statement smt = con.createStatement(); 
String str = 
    "insert into table1(name1,sex,age,email,pwd,info) " 
    + "values('" + name + "','" + sex + "','" + age + "','" 
    + email + "','" + pwd + "','" + info + "')"; 
smt.executeUpdate(str); 
관련 문제