CI 묻고 답하기

제목 폼이 post로 있을 경우 새로고침 시 경고창 문제
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2017/06/14 14:11:22
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 16223   RSS

메인페이지에서 새로고침을 하면 화면과 같이 알림창이 뜬다고하여

 

이 알림창에 안나타나게 변경요청이 와서 수정 중 입니다,

 

예전에도 이거와 비슷한 글을 올려 듣었던  답변은

 

현재 페이지에 폼이 post로 되어있을 경우 그림과  같은 알림창이 뜯다고 듣었습니다.

 

그래서 현재 페이지에 form형태에 post로 된것은 모두 변경하여도 새로고침 시 알림창은 계쏙 뜨더라구요;

 

그래서 프로파일러를 출력하여 보니

 

현재페이지의 form형태가 post 여서 문제가 아닌

 

현제 페이지로 넘어온 값이 post일 경우 저런 알림창이 뜨는것 같더라구요? (정확히 이해한것이 맞을까요?)

 

로그인 부분의 폼의 method를 get로 변경하여 시도 해보니 다른 에러가 출력이 되길래

 

확인해보니 

 

처음 폼을 생성할때 form_open()함수으로 생성하였습니다.

 

저함수로 생성을 하면 히든필드로 csrf_test_namer가 생겨 저값과 함께넘어가

 

로그인이 잘되었는데

 

form_open(url, array('method'=>'get'))로 변경하니

 

저 필드가 생성되지 않아 로그인에 문제가 생기더라구요;;

 

또 다른 문제로는 아이디와비밀번호값이 get로 넘어갈경우 url에 데이터가 보여서 보안상 문제가 있는데

 

post로 할경우 메인페이지에서 새로 고침 하면 그림과 같은 알림창이 계속 출력이 될텐데...

 

어떤 방식으로 해결해야할지 막막하네요 ;;

 

선배님들의 조언 부탁드립니다.

 

 

 

 


첨부파일 test.png (111.2 KB)
 다음글 매번 같은 작업을 하는 기능을 trait 를 사용해 공... (6)
 이전글 파일명이랑 폴더명 맞는데... 왜 못찾을까요? (2)

댓글

개락 / 2017/06/14 14:31:43 / 추천 0

로그인 처리 후에 그 하단에 바로 뷰를 뿌리지마시고 페이지를 이동하게끔 하시면 제일 간단하게 처리가능하지 않을까 싶습니다.

제가 생각하는 문제가 맞나모르겠네요.. 컨트롤러에서 로그인 처리 후 로그인 승인 시 그 메소드에서 바로 뷰를 출력해서 생기는 문제가 아닐까 싶어서요..

정수리 / 2017/06/14 14:37:42 / 추천 0

@개락

답변감사합니다

로그인을 하게 되면

실직적인 로그인 처리는 

 

ajax를 통해 ln이라는 컨트롤러에서 하고

 

ajax 반환 값에 따라

 

form_open(url)에 설정해놓은 url로 이동하게 됩니다.

 

폼에 설정해놓은 url은 main_c라는 컨트롤러에 이동하여 메인페이지를 출력해주구요

 

말씀하신 로그인 처리 후에 승인시 그메소드에서 바로 뷰를 출력하고 있지 않습니다

 

뷰를 출력하는 함수가 다른 컨트롤러에 있습니다,

정수리 / 2017/06/14 15:42:02 / 추천 0
해결하였습니다.