CI 묻고 답하기

제목 textarea 에 html 입력시 style 이 사라져요ㅡ.ㅜ
글쓴이 동막골내미 작성시각 2011/11/11 16:57:11
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 22939   RSS
CI를 사용하지 않는 곳에서 textarea 에 html 태그를 입력후 폼값을 받은데서 출력을 하면 정상적으로 값이 넘어온게
확인이 되는데요

이상하게 CI를 이용하여 textarea에 html 태그를 입력하면 다른건 정상적인데 style 태그만 삭제가 되네요.

예를 들어 <div style="position:relative;z-index:100;margin-top:32px;"></div> 라고 textarea 에 입력을 하고
폼값을 받으면 <div></div> 이렇게 나옵니다.

아무리 찾아봐도 원인을 알 수가 없어서요..

혹시 아시는 분 계시면 도움좀 부탁드립니다.

 다음글 음 도메인 두개를 세팅해야하는데 문제가 생겼네요 ㅠㅠ (2)
 이전글 jquey질문좀 드리겟습니다. (1)

댓글

변종원(웅파) / 2011/11/11 17:36:38 / 추천 0
config에서 xss 관련 설정을 true 하지 않으셨는지요?

위 설정을 true로 하면 모든 post, get 전송에서 xss_clean()함수를 적용시킵니다.
그 결과 스타일태그가 사라지죠.

http://codeigniter-kr.org/lecture/view/206/page/1/
http://codeigniter-kr.org/lecture/view/207/page/1/

참고하세요

동막골내미 / 2011/11/11 17:58:04 / 추천 0
원인을 찾아주셔서 감사합니다.
지금 확인해보니 $config['global_xss_filtering'] = TRUE; 되어있어서 그런문제가
발생했는데요

기본은 true 로 해놓구 특정 한 페이지만 저 기능을 사용 안하게 할 수 는 없는건가요??
변종원(웅파) / 2011/11/11 18:03:26 / 추천 0
저도 웹에디터 쓰면서 딱 한가지 기능때문에 눈물을 머금고
xss 옵션을 끄고 개별적으로 함수적용해서 사용중입니다.
옵션으로 특정부분 비활성화 기능은 없습니다.

코어 확장후 수정하면 되긴 합니다만..... 현재로서는 $this->input->post('val', true); 형태로 사용하고 있습니다.
true 옵션주면 xss_clean() 적용이 됩니다.