CI 묻고 답하기

제목 $config['csrf_protection'] = TRUE; 했을 경우 언제나 form_open()사용해야 되는건가요?
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2017/06/02 08:44:30
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 19011   RSS

메뉴얼 보고도 이해가 되지 않는 부분이 있을 글을 올리게 되었습니다.

 

$config['csrf_protection'] =  TRUE 설정했을 경우

 

폼을 생성할 때 언제나  form_open()를 사용해서 폼을 만들어야 하는건가요?

 

$config['csrf_protection'] =  TRUE 설정을 한후

 

form_open을 통해 폼을 만들면 hidden 필드가 생기는데

 

이 필드가 있어야 폼이 정상적으로 넘어 가는것 같더라구요;;

 

form_open으로 form을 만들경우 언제나 post 형식으로 만들어지기에

 

웹페이지에서 폼을 넘긴 후 뒤로가기 버튼을 누르면 문서가 만료되었다는

 

오류가 떠서 여간 불편하네요;; 

 

post로 넘겨야하는 부분도 있지만 get로 넘겨도 될 부분이 있어서 

 

그런데 form_open으로는 get형식으로 폼을 만들수 없을까요??

 

메뉴얼에서 봐보니 속성을 정할때 method를 정하는 부분이 없더라구요,

 다음글 전체페이지에 헤더,푸터 부분이 공통적으로 들어 가야 되... (3)
 이전글 새로 만든 헬퍼는 autoload시키는 방법이 있을까요... (4)

댓글

전상민 / 2017/06/02 09:17:46 / 추천 0

csrf_protection을 사용한다고 해서 form_open 함수 사용이 필수는 아닙니다.

단지 히든값을 만들어 줄 뿐이에요.

form 태그를 직접 작성할 경우엔 히든 필드에 get_csrf_token_name(), get_csrf_hash() 이 함수들을 이용해서 값을 심어주면 됩니다.

http://www.ciboard.co.kr/user_guide/kr/libraries/security.html

 

$this->load->helper('form');
echo form_open('form_name', array('method'=>'GET'));

 

정수리 / 2017/06/02 11:13:41 / 추천 0

@전상민

아 form함수는 단지 히든값만 만들어 주는 것이였군요 ㅎㅎ

답변을 통해 이해 되었습니다. 감사합니다