CI 묻고 답하기

제목 1.7.3에서는 괜찮은데 2.0.2에서는 문제가 있네요..
글쓴이 형민세훈아방 작성시각 2011/06/22 08:56:25
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 25168   RSS
지금 사이트를 만들고 있는데...다음오픈에디터와..swfupload를 같이 해서..
코드이그나이터를 연동해서 사용하고 있습니다...
왜되던게 안되나 했더니...

1.7.3에서는 문제없이 되던게...
2.0.2에서는 아래와 같은 현상이 있네요..

swfupload를 이미지와 첨부파일을 각각 하나씩 올리고 난 뒤에 소스입니다.

아래는 이미지와 첨부파일을 추가하고 다음오픈에디터의 HTML 체크박스를 클릭한 소스입니다..

<P style="TEXT-ALIGN: left"><img src="http://www.abcd.com//upload/board/fa1c4d7b830f543a6b2aaed05292b2e8.jpg" class="tx-daum-image" style="FLOAT: none; CLEAR: none" /></P>
<P>[파일:2]</P>
<P> </P>
<P> </P>

아래는 post로 넘겼을때 내용을 출력한 것입니다..

<P>img src="http://www.abcd.com//upload/board/fa1c4d7b830f543a6b2aaed05292b2e8.jpg" class="tx-daum-image" style="FLOAT: none; CLEAR: none" /></P>
<P><a href="http://www.abcd.com//upload/board/faaa30c21ce07a25cf6cc7697b949457.txt"><img src="/common/editor/images/icon/p_txt_s.gif?rv=1.0.1"/> editplus_serial.txt</a></P>
<P> </P>
<P> </P>

보시는 바와같이 첨부파일 파일 링크는 제대로 나오는데 첨부이미지는 테그가 잘려서 나오네요...

2.0.2에서는 위와 같이 나오네요...뭐가 문제일까요?

 다음글 페이지 하나에서 view 여러개쓸수있나요..?? (7)
 이전글 matchbox 오류 ㅠㅠ (4)

댓글

헛발이 / 2011/06/22 12:31:39 / 추천 0
위에 대한 답변은 아니지만...
저도 다음에디터 사용해 보려구 했다가.. IE9에서 동작을 안해서 결국 하다가 말았는데...

위의 질문은 해번적이 없어서 답변 드리기가 힘드네요..
형민세훈아방 / 2011/06/28 08:34:13 / 추천 0
httpwatch로 확인해보면...정확하게..stream 항목은 넘어가네요 제대로...
넘겨서 컨트롤에서 프린터 해보면 제대로 안나오네요..
형민세훈아방 / 2011/06/28 09:31:49 / 추천 0
원인을 알았네요.....P 테그의 인라인 스타일이....XSS 필터링에 걸려서 그렇네요..
1.7.3에서는 괜찮았는데...2.0.2에서는 저게 걸리나 보네요...
형민세훈아방 / 2011/06/28 09:41:30 / 추천 0
https://bitbucket.org/ellislab/codeigniter-reactor/issue/208/global-xss-filtering-and-ckeditor

$config['global_xss_filtering'] = TRUE;

여기를 FALSE로 설정해도 되지만....

2.0.2 로 오면서 Security.php가 core 폴더로 넘어왔네요...

xss_clean 함수에서..

_remove_evil_attributes

이 함수를 통과하고 나면...제거가 되는데 잘못제거되는군요...

패턴이 잘못되어 있네요...

머리가 나쁜지라.....

저 함수에서 제거하는 항목에서 style만 제거 해서 쓸려고요.^^
변종원(웅파) / 2011/06/28 15:34:29 / 추천 0
 $config['global_xss_filtering'] = TRUE; 이렇게 설정하면 아무 것도 안해도 보안에 대해 
신경쓸게 없지만 형민세훈아방님 경우처럼 간혹 오작동 비슷하게 나오는 경우가 있습니다.
그래서 전 $this->input->post()와 $this->security->xss_clean() 으로 개별적으로 사용하고 있습니다.