FlowerBombs

cookie 본문

JAVA/JSP

cookie

CitronLemon 2019. 3. 12. 10:00

Cookie



- 변수값을 사용자의 PC에 텍스트 형태로 저장.

- 초 단위의 유효시간과 유효 도메인을 설정해야 함.

  -- 서로 다른 도메인간에는 공유할 수 없지만 서브도메인간에는 공유 가능함.

- ex) 쿠키 저장시 도메인을 .itpaper.co.kr 로 설정할 경우

 www.itpaper.co.kr 과 blog.itpaper.co.kr 간에 데이터가 공유됨.


- 보안에 취약

- 데이터 저장시 urlencode 처리가 필요함. (필수)

- 데이터를 읽어올 때 urldecode 처리가 필요함. (필수)

- 지정된 시간동안은 브라우저를 닫았다가 다시 열어도 삭제되지 않는다.

- 사이트 내의 모든 페이지에서 읽을 수 있는 전역 변수의 역할을 한다.



www.naver.com

cafe.naver.com

news.naver.com


naver.com --> 도메인

www, cafe, news --> 서브도메인



쿠키 저장하기

1
2
3
4
5
6
7
8
9
10
11
12
String input = URLEncoder.encode("저장할 값");
// 쿠키 생성 (이름, 값 설정)
Cookie info = new Cookie("mycookie", input);
// 쿠키의 유효시간(초)
info.setMaxAge(60);
// 쿠키가 유효한 경로 
info.setPath("/");
// 쿠키가 유효한 도메인 설정
// --> 상용화시에는 사이트에 맞게 수정해야 함.
info.setDomain("localhost");
// 쿠키 저장하기
response.addCookie(info);
cs






쿠키 읽기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 저장된 쿠키 목록을 가져온다.
Cookie[] cookies = request.getCookies();
// 쿠키값을 ㅓ장할 문자열
String mycookie = null;
 
// 쿠키 목록이 있다면?
if (cookies != null {
    for (int i=0; i<cookies.length; i++) {
        // 쿠키의 이름을 취득한다.
        String cookieName = cookies[i].getName();
 
        // 이름이 내가 원하는 값일 경우 값을 복사한다.
        if (cookieName.equals("mycookie")) {
            mycookie = cookies[i].getValue();
            
            // 원하는 값을 찾았으므로 반복처리 중단
            break;
         }
    }
}
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 저장된 쿠키 목록을 가져온다.
Cookie[] cookies = request.getCookies();
// 쿠키값을 저장할 문자열
String mycookie = null;
 
// 쿠키 목록이 있다면?
if (cookies != null {
    for (int i=0; i<cookies.length; i++) {
        // 쿠키의 이름을 취득한다.
        String cookieName = cookies[i].getName();
 
        // 이름이 내가 원하는 값일 경우 값을 복사한다.
        if (cookieName.equals("mycookie")) {
            mycookie = cookies[i].getValue();
            
            // 원하는 값을 찾았으므로 반복처리 중단
            break;
         }
    }
}
cs


'JAVA > JSP' 카테고리의 다른 글

WebHelper에 추가된 기능  (0) 2019.03.12
Session  (0) 2019.03.12
파일업로드 / 다운로드  (0) 2019.03.08
메일 발송  (0) 2019.03.07
정규표현식 활용  (0) 2019.03.07
Comments