는 HTML 페이지는 사용자 이름과 암호를 입력하도록 사용자에게 요청합니다. 이것들은 MySQL 데이터베이스에 대한 자격 증명입니다 (즉, JDBC 연결에 사용되므로 물리적으로 파일에 암호가 저장되지 않습니다).
제출시 데이터베이스에 연결하려고 시도하는 서블릿이 호출됩니다. 가능한 경우 자격 증명이 올 바르고 JSP 페이지가로드됩니다. 그렇지 않은 경우 오류가 표시됩니다.
로그인이 성공하면 웹 응용 프로그램은 데이터베이스에서 SQL 쿼리/업데이트를 수행하고 Java Beans를 JSP 페이지로 반환하는 서블릿을 사용합니다. 메모리 목적으로 내가 JDBC를 추측하고있어 들어
질문
은 이전에 제공된 자격 증명을 사용하여 연결을 다시 시작해야합니다 다음 페이지를 의미 폐쇄해야합니다. 분명히 사용자는 매번 암호를 제공하고 싶지 않으므로 어쨌든 저장해야합니다. 그것들이 그 세션을위한 Java 객체/bean에 저장된다면 (평범한 텍스트가되어야 검색하고 사용할 수있다) ... 그들은 공격 받기 쉬운가? 코드 내에 텍스트로 저장하는 것이 좋지 않습니까?
누군가가 세션을 해킹하여 개체를 호출 할 수 있다고 가정하고 있습니다 (이 사실을 알고 있다면)?
어떤 대안이 있습니까?
신속한 답변을 보내 주셔서 감사합니다. 이 시나리오에서는 서버가 안전하다고 간주되어 (즉, 다른 보안 애플리케이션이 실행 됨) SSL이 사용됩니다. 그래서 나는 그것이 모두 좋다고 생각합니다. 후속 조치 - 연결 개체를 응답에 전달하여 세션에 저장하는 방법은 무엇입니까? 아니면 그냥 주어진거야? – ajr
HttpServletRequest 객체는 원하는 객체를 저장할 수있는 Session 객체를 제공 할 수 있습니다. http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html#getSession%28%29를 참조하십시오. –