처음부터 차근차근

Session과 login, logout구현 본문

Framework/CodeIgniter

Session과 login, logout구현

_soyoung 2021. 11. 12. 22:10
반응형

config.php file 수정

  • $config['encryption_key'] = ''; // 32글자의 문자를 입력한다.
  • $config['sess_use_database']    = TRUE; // 세션의 데이터를 데이터베이스에 저장한다.
  • $config['sess_match_ip']        = TRUE; // 보안을 위해서
  • $config['sess_driver'] = 'database'; // session을 database에 저장하겠다. 디폴트 값은 files임.
  • $config['sess_save_path'] = 'ci_sessions'; // 데이터베이스 테이블명
  • $config['sess_time_to_update'] = 6000; // session을 업데이트할 시간(6000은 100분)

 

 

autoload.php 수정

session 라이브러리 로드

$autoload['libraries'] = array('session');

 

 

 

session 추가

$this->session->set_userdata(array('logged_in'=> true));

 

 

 

session 가져오기

$this->session->userdata('logged_in');

 

 

 

 

데이터베이스에 table만들기

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(128) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

* codeigniter 3.1.11버전용 코드이다. 다른 버전에서 사용하면 안될 수 있음.

 

 

 

이렇게 하면 서버에서 쿠키를 생성해서 db와 정보를 주고 받는다.

서버 cookie

서버의 쿠키 값이 ci_sessions table의 id값과 같은 것을 볼 수 있다.

 

 

 

 

모든 세션 내용 보기

$this->session->all_userdata();

 

 

 

session 삭제

$data = array('id', 'pwd');
$this->session->unset_userdata($data);

 

 

 

 

 

 

출처 : Codeigniter - 생활코딩 변형 및 요약

반응형

'Framework > CodeIgniter' 카테고리의 다른 글

Core 확장하기  (0) 2021.12.25
Codeigniter form 검증 한글 번역하기  (0) 2021.11.26
CKEditor  (0) 2021.11.03
파일 업로드  (0) 2021.11.02
로그  (0) 2021.10.26
Comments