쿠키라는 녀석을 이용해서 클라이언트정보를 유지
리플렉션 적용
패키지 member dao,service 구성 로그인 처리
SELECT '.'|| LOWER(COLUMN_NAME)
||'(rs.get'|| DECODE(DATA_TYPE, 'NUMBER','Int ', 'String ')
||'("'
||UPPER(COLUMN_NAME)
||'"))'
FROM COLS
where TABLE_NAME = 'MEMBER'
ORDER BY COLUMN_ID;
statement 객체 이용했을때 문제점
' OR '1'='1'; delete from member where '1'='1
' OR '1' = '1
NIST기준
이 세가지 써볼 예정
%23 (Percent Encoding / URL encoding), Base64
허가되지 않은 유저가 데이터를 읽을 수 없도록 데이터 표현방식을 바꾸는 작업
누군가가 읽을 수 없도록, 허가된 사람 권한이 있는 사람은 읽을 수 있어야 함
decrypt 불가능
MD5 -> SHA-512
해쉬함수를 사용하면 해쉬키가 생기는데 해쉬키 길이를 512 숫자가 나타내고 있다
decrypt 가능
1) 대칭키(비밀키) AES 블록암호
AES 참고
암복호화에 동일한 비밀키 사용
단점 : A라는 키로 암호화를 했는데 키까지 한세트로 보내서 중간에 가로채면 취약
2) 비대칭키(공개키) RSA
공개키와 개인키로 구성된 한쌍의 키로 암복호화 수행
비대칭이란? 암호화할때 키와 복호화할때 키가 다르다
1. Domain layer (MEMBERVO)
의존성이 제일 없는 녀석부터 만든다.
2. Persistence Layer(dao)
인터페이스를 분리해서 협업이 가능하도록 해야한다
IDAOIMPL
IAuthenticateService
웹어플리케이션
3-tier
DBCP Component --DVD 대여 역할
mybatis