CI 묻고 답하기

제목 session 생성 후 초기화
글쓴이 Densetsu 작성시각 2013/05/28 10:52:20
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14643   RSS
안녕하세요 ^^
궁금한 사항이 있어서 질문 드립니다. (맨날 질문만 드려요 ㅋㅋ)
이것때문에 여러 자료를 찾아봤는데.. 딱히 답이 없어서요;

순서는 다음과 같습니다.
1. A 페이지에서 POST 로 B 페이지로 값을 전달
2. B 페이지에서 POST 로 받은 값을 세션 생성(배열)
3. B 페이지에서 단순 href 링크로 C 페이지로 이동
4. C 페이지에서 B 페이지에서 생성한 세션이 초기화 됨

물론 B 페이지에서 찍어보면 정상적으로 출력됩니다.
혹시 몰라서 serialize 이걸 사용해서 변경했는데도 안되네요 ㅎㅎ

그런데 신기한건 B 페이지에서 받은 값이 아닌 임의의 변수에 "test" 라는 문자를 넣어서 이 데이터를 세션으로 만들면
C 페이지에서 보인다는 겁니다; ㅎㄷㄷ;

session_start() 를 추가하여 $_SESSION 으로 생성해보고
세션 문제인가 싶어서 cookie 로도 구워봤는데 마찬가지네요; 신기;;;

많이 손대는게 무서워서.. 제가 해본건
sess_match_useragent = TRUE -> FALSE 로 수정
sess_cookie_name = "ci_session" -> "cisession" (요건 IE에서만 문제라는데 전 타 웹브라우저 모두 안돼요 ㅠ)
다른것도 이글저글 보면서 수정해봤는데 안되더라구요;

설정 문제인지.. ㅎㅎ
혹시 비슷한 경험이 있으신 분이 계시거나 해결책 아시는 분이 계시면 답글 부탁 드리겠습니다.
설치 버전은 2.1.0 입니다.

읽어주셔서 감사합니다. (--) (__)
 다음글 session 관련(오라클 이용) (4)
 이전글 Toad 와 같은 DB관리 도구에서 실행되는 쿼리가 s... (4)

댓글

risa / 2013/05/28 11:06:13 / 추천 0
일단 session_start() 으로 하는 PHP 에서 생성하는 세션과 CI 세션과는 다릅니다.

CI는 별도의 세션을 저장 합니다. [마.. 맞을 거에요..!]

만일 POST 데이터를 바로 CI 세션에 넣는게 불가능 하다면 보안 문제일 가능성이 있네요.

어차피 세션에 데이터를 넣을려면 한번 폼 체크도 할겸 데이터를 담아서 체크 한 후에

담으시면 겸사겸사 해결 되실 거라 생각 됩니다.

좀더 정확한 답변을 원하신다면 해당 소스와 설정을 알려주셔야 답변이 가능 합니다
Densetsu / 2013/05/28 11:24:24 / 추천 0
risa //

관심 가져주셔서 감사합니다.
POST 에 SESSION 변수를 대입하는데 보안 문제라는건 꿈에도 생각도 못해봤습니다. (신세계 ㄷㄷ)
말씀하신 사항에서 힌트를 얻어 POST 대신에 GET 을 써보니 되네요!! 으악!!
퀴즈형식의 페이지라 GET이든 POST든 상관이 없어서 일단 이렇게 처리했습니다.
완전!! 도움 많이 됐습니다 (__)

근데..
송구스럽지만 질문 하나 추가로 남겨봅니다 ㅎㅎ
CI 에서 관련 보안설정하는 곳이 있는건가요? 아니면 서버쪽에 설정인건가요?
CI는 알면 알수록 어려워 지는거 같습니다 ㅠ
감사합니다!
Densetsu / 2013/05/28 11:36:47 / 추천 0
risa //

코어는 무서워서 못 건드리는 실력입니다 ㅎㅎ
CI 3.x 가 나와도 실력이 모자라 패치하다가 문제 생기는거 아닌가 모르겠습니다 ㅋㅋ;
답변 감사 드립니다!! (--) (__)