CI 묻고 답하기

제목 인코딩 디코딩
글쓴이 앙마 작성시각 2013/05/24 13:53:24
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14176   RSS
라이브러리 관련 질문이 있습니다!!

쿠키를 굽기 전에 일단 암호화하여 쿠키 값에 넣었습니다. 

$this->load->library('encrypt');
$save_id = encode($id,'key_id');
set_cookie('cook_user_id', $save_id, 356 * 24 * 60 * 60);

그리고나서 이것을 view화면에서 사용하려고 하는데

view에서는 복원을 시켜서 사용하려고 하는데 그렇게 할 경우 view에도 라이브러리를($this->load->library('encrypt');)

넣어줘야 하는건가요??

key 값을 넣지 않으면 에러가 나서요 encrypt.php에서 보니 encode할때는 변수를 두개 받더군요..

아무튼 encode한 거를 다시 복원하려고 할 때는 어떻게 해야하나요?

$this->encrypt->decode(get_cookie('cook_save_login')); 이런 식으로 하니 에러가 나는데 key값도 넣어줘야 하는지..

넣어주게 될 경우에는 key값을 항상 갖고 다녀야 한다는 뜻이 되는 건가요??

In order to use the encryption class requires that you set an encryption key in your config file.에러가 나네요ㅠㅠ
 다음글 사용자 파일 접근 제어 (htaccess 설정?) (7)
 이전글 file헬퍼 - file삭제 에대한문의 (1)

댓글

변종원(웅파) / 2013/05/24 14:23:08 / 추천 0
매뉴얼에 원하시는 답이 다 있습니다.
차근차근 다시 읽어보세요.

한가지 궁금한 점은 ci 세션 안쓰시고 굳이 쿠키를 쓰시는지...?
ci 세션도 쿠키입니다. 서버에서는 세션, 실제로 데이터는 쿠키로 저장됩니다.
암호화 옵션도 따로 있어서 옵션만 체크해주면 알아서 암호화하고 풀어주고 합니다.
앙마 / 2013/05/24 14:30:58 / 추천 0
 웅파//

웅파님 말씀은 $this->load->library('session'); <-- 이것도 쿠키와 같다는 건가요??

아직  어떤 것이 좋은지 판별을 할지 몰라서요;;

그리고 세션을 사용하면 쿠키식으로 되서 아이디 저장이나 자동로그인 같은 것도 가능한지..

그리고 일단 인코딩 디코딩은 해결했는데;; 문제는 페이징네비가 사라지네요-0-;;

$this->load->helper('cookie');
$this->load->library('encrypt');
$this->load->database();
$this->load->model('note_model');
$this->load->library('pagination');

생성자에 이렇게 넣어놨는데... 분명 인코딩 디코딩 문제가 생기기 전까지는 잘 돌아갔거든요;;

하아... 진짜 메뉴얼을 읽어봐도 똥인지 된장인지 모르는 상태라ㅠㅠ
변종원(웅파) / 2013/05/24 14:35:23 / 추천 0
tank_auth 라는 로그인 패키지 보시면 자동로그인도 되어 있습니다. (ci session)

실무에서 사용했었구요.

위에 적은 대로 실제 데이터는 쿠키에 저장하기 때문에 쿠키에서 할 수 있는건 모두 다 됩니다.
앙마 / 2013/05/24 14:47:17 / 추천 0
 웅파님이 올려놓은신 적용 방법을 봤는데요 config에서 database를 True로 해놓던데

그것을 꼭 해둬야 sessin사용가능인가요??

음.. 웅파님의 방식에는 session용 라이브러리 같은 것이 없는거 같던데 너무 어렵군요ㅠㅠ

그냥 세션을 조금 더 보고 해보던지 해야할듯;;
변종원(웅파) / 2013/05/24 15:17:49 / 추천 0
그 옵션은 쿠키에 저장하는게 아니라 db에 저장하는 겁니다. false로 하고 쓰시면 됩니다.
앙마 / 2013/05/24 15:20:32 / 추천 0
 메뉴얼을 읽어보니 디비에 저장하는 것이 보안성이 좋다는데 

그럴 경우 메뉴얼에 있는 기본 디비를 생성해서 true로 한 다음 사용하면 되는거겠죠??

아.. 그리고 웹앱으로 계발중인데요

세션을 보니 ip가 나오네요.. 음.. 만일 같은 와이파이를 사용하게 되면 ip가 겹치게 되는거 아닌가요?
변종원(웅파) / 2013/05/24 16:22:21 / 추천 0
네.

앙마님 질문대로라면 공유기 쓰는 곳에서는 전부 동일한 세션을 사용할텐데 
왜 각자 로그인이 될까요? 세션 만드는 원리는 구글신에게 물어보시기 바랍니다. ^^


앙마 / 2013/05/24 16:23:23 / 추천 0
 웅파//

웅파님 조언 감사합니다~