• 회원가입
  • 로그인
  • 구글아이디로 로그인

[web] (세션/쿠키/스토리지/테이블) 방식 장단점

1,698  

(세션/쿠키/스토리지/테이블) 방식 장단점

[질문]

그누보드5 (테마/게시판스킨)을 사용자가 ajax 이용해 선택 가능 시, (세션변수 생성 / 쿠키변수 생성 /스토리지에 저장 / 테이블에 저장) 4가지 방식 중 어떤 방식이 가장 좋나요?

 


[답변]

상황에 따라 다르며, 각 방식의 장단점 고려하여 적절한 방식을 선택 권장.


1. 세션변수 생성 방식 

서버 측에서 세션 객체 생성해 해당 세션에 정보 저장함. 사용자의 브라우저에서 세션 ID를 쿠키로 전송하여 세션 객체를 식별함.

  • 장점: 서버 측에서 관리하기 때문에 보안이 우수함. (브라우저 종료 시 세션도 함께 종료되기 때문에 보안에 더욱 강함.)
  • 단점: 서버 메모리 사용하므로 서버 부하 발생 가능.


2. 쿠키변수 생성 방식 

클라이언트 측에서 쿠키 생성해 정보 저장함. 쿠키는 브라우저가 관리함.

  • 장점: 쿠키 이용하면 서버 부하를 줄일 수 있음. 또한, 쿠키는 브라우저가 관리하기 때문에 클라이언트 측에서 자유롭게 사용 가능.
  • 단점: 쿠키는 브라우저에 저장되기 때문에 보안이 취약함. 또한, 쿠키 크기는 작기 때문에 많은 정보 저장에는 부적합

  

3. 스토리지에 저장 방식

HTML5에 추가된 기능으로, 클라이언트 측에서 로컬 스토리지나 세션 스토리지를 사용하여 정보를 저장함. 
  • 장점: 쿠키보다 보안 우수. 또, 크기 제한 없어 많은 정보 저장 가능.
  • 단점: HTML5 미지원 브라우저에서는 사용 불가.

 

4. 테이블에 저장 방식

서버 측의 데이터베이스 테이블에 정보를 저장함. 
  • 장점: 서버 측에서 관리하므로 보안 우수. 또한, 정보를 영구적으로 보존 가능.
  • 단점: 서버 부하 가능성 존재함. 또, DB 접근 시간 증가 가능성 있음.

 

따라서, 정리하면 아래와 같음.

  1. 사용자 선택 스킨 정보 식별이 목적이면, 쿠키나 스토리지에 저장.
  2. 보안이 중요하면 세션 변수나 테이블에 저장
  3. 그러나, 많은 정보 저장 경우에는 세션 변수나 테이블에 저장
  4. 또한, 사용자가 로그인한 상태에서만 스킨 선택 기능 사용하려면, 세션 변수나 테이블에 저장.
  5. 브라우저 종료 후에도 정보 유지하려면, 스토리지에 저장.


마지막으로, 어떤 방식 선택하든, 보안 고민은 필수임.

  1. 중요 정보는 암호화 저장하거나, 세션/쿠키 유효시간을 짧게 설정.
  2. 또한, XSS/CSRF 같은 보안 취약점 예방 위한 대책도 반드시 강구.

 

 



분류 제목
web PHP - 테스트 사이트/APM유틸 모음 (PHPtest, PHPtester)
web JS파일 한글깨짐방지
web 크롬브라우저 주의요함 원인과 해결법 (chrome, NOT SECURE, cause, solution)
web 티스토리 초대장제도 폐지 (tistory, invitation card, revocation)
web 구글 리디렉션 사용법 (= 사용자에게 이동페이지 알려주기)
web mwb - 배추베이직 BC코드 (=글쓰기특수코드 = 비씨코드 = 비시코드)사용법 (miwit, mw.basi…
web 혹시, 무서운 생초보 (=왕초보 = 무서운 초보) 신가요? ★
web 홈짱닷컴 (Homzzang.com) 사이트 견적설문 (제작비용・제작기간) - (견적문의샘플)
web 퓨니코드(Punycode) - 한글도메인을 영문도메인(=영문,숫자,하이픈조합도메인)으로 인식시키는 코드
web SQL - UNION (유니언) / UNION ALL (유니언올) 차이점 비교
web 그누보드M (0.1.9 그누보드 다국어 베타) 업데이트 (18-10-12 16:35)
web 서버 - 우분투 패키지 설치 명령어 자동 yes하기 (apt-get install -y 프로그램명)
web masonry (메이슨리) - 벽돌쌓기 레이아웃 정렬(= pinterest 핀터레스트 방식)
web PHP - 큰따옴표 작은따옴표 차이 ★★★★★
web 유튜브 썸네일생성 + 유투브 썸네일사이즈 (= 썸네일크기 = 썸네일종류 = 썸네일해상도) + 썸네일주소 (y…
web HTTPS 적용 후 URL 주소창에 자물쇠 안뜰때 조치사항 (SSL 적용 후, http 찾기)
web D2Coding (디투코딩) 개발자용 폰트 무료다운로드・설치 ★
web FTP 이용 불가 상황에서 putty (푸띠, 뿌띠)로 홈페이지 접속해 작업하기
web SQL - MySQL5.7 (DB) 사용자 비밀번호
web G5 - 반응형 게시판 만들 때 작업할 페이지
10/19
목록
찾아주셔서 감사합니다. Since 2012