웹에디터 관련 질문드립니다
- 작성자 :
- 이*수
- 작성일 :
- 2010-11-09 16:47:55
- 조회수 :
- 2,575
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
웹에디터관련 두가지 질문 드립니다
첫번째로 제가 현재 구글 크롬으로 실행할 시에는 웹에디터가 정상적으로 작동을 하지만 인터넷 익스플로러로 실행할시 적용이 대지 않습니다. 혹시 인터넷 익스플로러쪽에서 따로 적용을 해야대는 부분이 있는지 궁금합니다
두번째로 웹에디터로 글내용을 작성해 DB로 전송하면 html태그 형태로 전송이 되고 그 값을 가져와서 view단에 뿌려주려고 하는데 html태그가 적용이 대지않고 <span class="Apple-style-span" style="font-size: -webkit-xxx-large; "><i><font class="Apple-style-span" color="#FF0000">파일없이</font></i></span> 이런식으로 출력이 되게 댑니다 아래 글을 보면
<textarea>로 막혀있으면 출력이 안댄다고 하셨는데 테이블 태그인 td태그로만 감싸져있습니다 위 html소스를 html스타일을 적용해서 출력을 하려면 어떻게 하는지 알려주시면 감사하겠습니다
첫번째로 제가 현재 구글 크롬으로 실행할 시에는 웹에디터가 정상적으로 작동을 하지만 인터넷 익스플로러로 실행할시 적용이 대지 않습니다. 혹시 인터넷 익스플로러쪽에서 따로 적용을 해야대는 부분이 있는지 궁금합니다
두번째로 웹에디터로 글내용을 작성해 DB로 전송하면 html태그 형태로 전송이 되고 그 값을 가져와서 view단에 뿌려주려고 하는데 html태그가 적용이 대지않고 <span class="Apple-style-span" style="font-size: -webkit-xxx-large; "><i><font class="Apple-style-span" color="#FF0000">파일없이</font></i></span> 이런식으로 출력이 되게 댑니다 아래 글을 보면
<textarea>로 막혀있으면 출력이 안댄다고 하셨는데 테이블 태그인 td태그로만 감싸져있습니다 위 html소스를 html스타일을 적용해서 출력을 하려면 어떻게 하는지 알려주시면 감사하겠습니다
A
안녕하세요.. 이윤수님..
우선.. IE만의 별도 설정은 없습니다. 혹.. IE에서 javascript 오류가 발생하였는지 확인해 보시면 도움이 될 것 같습니다.
두번째 경우는 두가지 가능성이 있습니다.
첫번째는 web.xml에 HTMLTagFilter가 적용되어 입력된 html tag를 변경하여 DB상에 저장된 경우입니다. ("<" -> "<" 등)
이 경우는 web.xml에 HTMLTagFilter의 filter 및 filter-mapping 부분을 제외시키시면 됩니다.
두번째는 <td> 안에서 데이터 표시시.. <c:out ../>을 적용하신 경우입니다.
이 경우는 DB상에는 원래 형태의 html이 적용되어 있지만.. 표시할 때에 첫번째와 같은 변경을 처리하여 표시합니다.
이 경우는 <c:out ../>을 사용하지 마시고.. 바로 ${..}와 같이 EL만 표현하시면 됩니다.
참고로 두 경우에 대해서는 XSS에 대한 보안이슈가 발생할 수 있으므로.. XSS에 대한 조치 방법 등을 참조하셔서 .. html tag 중 문제가 될 만한 것들만 변환하여 처리하시면 됩니다. (예를 들면.. <javascript ../> 완 같은 경우입니다.)
그럼.. 즐거운 하루되십시오.
감사합니다.
우선.. IE만의 별도 설정은 없습니다. 혹.. IE에서 javascript 오류가 발생하였는지 확인해 보시면 도움이 될 것 같습니다.
두번째 경우는 두가지 가능성이 있습니다.
첫번째는 web.xml에 HTMLTagFilter가 적용되어 입력된 html tag를 변경하여 DB상에 저장된 경우입니다. ("<" -> "<" 등)
이 경우는 web.xml에 HTMLTagFilter의 filter 및 filter-mapping 부분을 제외시키시면 됩니다.
두번째는 <td> 안에서 데이터 표시시.. <c:out ../>을 적용하신 경우입니다.
이 경우는 DB상에는 원래 형태의 html이 적용되어 있지만.. 표시할 때에 첫번째와 같은 변경을 처리하여 표시합니다.
이 경우는 <c:out ../>을 사용하지 마시고.. 바로 ${..}와 같이 EL만 표현하시면 됩니다.
참고로 두 경우에 대해서는 XSS에 대한 보안이슈가 발생할 수 있으므로.. XSS에 대한 조치 방법 등을 참조하셔서 .. html tag 중 문제가 될 만한 것들만 변환하여 처리하시면 됩니다. (예를 들면.. <javascript ../> 완 같은 경우입니다.)
그럼.. 즐거운 하루되십시오.
감사합니다.