MEMO

52일차

dP fla 2022. 12. 14. 17:32

webserver: 통신을 담당, 데이터베이스와 통신하지 못함... 클라이언트와 통신만 가능

webapp: pagecontext와 관련된 내용들 ...

 

tomcat안에 servlet api

 

httpServlet: 클라이언트에서 넘어온 데이터(web server에서)를 request에 담음

 request와 response를 was에 넘김 (참조선)

WAS는 request와 response에 접근 가능해짐...

 

reload: pageContext를 다시 읽어들일 때.. 

application이 pageContext를 생성...

request를 forward하면 request가 webserver로.

redirect를 할 경우는 response가 webserver로

 

EL로 request를 사용

 

session: webserver가 관리,pga 역할

범용 session공간에 또다른 session 공간(개인공간)을 만들어줌..!

 

접속 정보는 session에 .. 웹서버가 session 공간에 개인 session공간을 만든다!

최초session은 application이 만들어준다

 

클라이언트가 접속했을때 생성, 접속해제시 소멸

>> browser에서 http신호가 날라오면 session생성, browser 종료시 session 소멸

똑같은 브라우저, 똑같은 ip -> 같은 세션 사용

브라우저가 완전히 종료되었을때 session(UA)소멸...

 

모든 브라우저는 종료창을 누르면 마지막 신호를 보낸다..!

session: 해킹당할 위험이 있어 최소한의 정보, 최적의 정보만을 담아야함

session에 들어갈 정보들은 암호화가 되어야한다... 

 

서버에 로그인 : session 활용하는 것..!

req.getSession() => 클라이언트의 모든 정보는 request에 담겨 있으므로 .. 정보가 끊기기전에 접속정보(Session)을 저장

>> ip와 header가 들어있음, request에서 getparameter빼고는 다 session 정보!

session에 AccessInfo의 이름으로 setAttribute.. group안에 로그인에 대한 모든 정보가 들어있음

group안에 pin 저장하면안됨.. 해킹 위험

pin번호 초기화!!

cookie ! -> JSESSIONID : 내 세션에 생성되어있는 기존의 sessionId, 클라이언트에 넘겨줄때 현재 서버주소와 sessionid를 넘겨줌. 웹 브라우저가 정보를 파일로 저장해줌 -> cookie

 

ID에 가서 웹브라우저와 접속한 웹브라우저의 ip가 같은지 확인하는 작업 ... 

 

 

session Id를 생성해주는...

아이디 기억 : cookie 사용 => loginId 쿠키

 

세션: 30분간 유지, 사용하지 않을경우 :폐기 

세션 종료시(destroy) db 로그아웃 : 사용자가 요청하지 않은 로그아웃 : 금융권말고는 잘 사용하지않음..

중복로그인시 기존 ip로그아웃 : 일관성 유지 가능

 

더많은 정보를 accessLog DB에 넣어야함.. (기기, 국가, 사설 ip, 공인 ip , 이중로그인을 방지하기위한 로그아웃인지..?, 브라우저 정보 등등... )

 

 브라우저 정보: request header userAgent

 

 

공인 ip 주소 확인하기 ...

mozilla: 브라우저가 공통으로 사용하는 엔진

 

indexOf() : 없으면 -1 반환.

indexOf(Trident) 했을때 0보다 크면 explorer!

 

indexOf(edge || edg) 했을 때 0보다 크면 edge 

 

 

반응형