안녕하세요.
기존 CI 2를 사용하고 있는 프로젝트를 이번엔 3.1.9 버전으로 업그레이드를 하게 되었습니다.
CI 2에서 사용하고 있던 form_validation->sel_rules('id','xss_clean') 이 문제가 되서
구글링을 해보니 CI 3버전에서는 없어졌다고 하더라구요
대신 $this->input->post('id',true)로 하면 된다고 하던데
이런식으로 사용하려면 config['global_xss_filtering']을 true로 바꿔야지만 작동하는 건가요?
문서를 봐도 이해가 가지 않아서 질문 드립니다.
감사합니다.
위지윅 에디터를 사용할 경우 글로벌 xss_filtering을 사용하면 입력내용이 제대로 db에 들어가지 않습니다.
그래서 보통은 global은 false로 하고 컨트롤러에서 아래처럼 1번 선언하여 사용합니다. $post는 $_POST와 내용이 같은데
다른 점은 xss_clean이 적용된 것입니다.
$post = $this->input->post(null, true);
@kaido @웅파
답변 감사합니다.
이미 소스에서는 form_validation->sel_rules('id','xss_clean') 이것도 있고
그 아래에 $post = $this->input->post(null, true); 이것도 있네요.
global_xss_filtering
글로벌 이라는 이야기입니다.
true 상태일때 설정 했을 경우에 input 값에 뒤에 인자값을 안넣으면 자동으로 true가 들어갑니다.
$this->input->post('id') => $this->input->post('id',true)
이렇게 취급 하겠다는 설정입니다.
글로벌이 false 이라도
$this->input->post('id',true);
강제로 넣으면 강제로 넣은 값이 우선 순위가 되어서 true 형태로 작동합니다.
일반적으론 글로벌은 false로 놔두고 단일로 필요한 부분에 true 를 넣는 편입니다.
물론 반대로 하셔도 상관없습니다.