개발 Q&A

제목 DB에 저장되어 있는 HTML 코드 보여주는 방법 문의 드립니다.
글쓴이 다니엘 작성시각 2013/12/01 11:06:56
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 22305   RSS
 MySQL DB 필드에 아래와 같은 HTML 코드가 포함되어 있습니다.

<html>
<head>
<title>정보 페이지</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

..... 중략....

</body>
</html>

이걸 모달 다이얼로그로 보여주려고 했더니 본문에 나와 버리네요.

HTML 코드가 있어서 그런거 같습니다.

레이아웃 그대로 모달 다이얼로그로 보여 줄수 있는 방법이나

아니면 팝업 창으로 전달해서 보여 주려면 어떻게 해야 하는디

선배님들의 조언 부탁 드립니다.
 
 다음글 버그리포트 모니터링 어떻게 하시나욥? (6)
 이전글 event bind 중복으로 인한 메모리 누수 문제 (2)

댓글

letsgolee / 2013/12/01 18:31:03 / 추천 0
모달에 iframe을 두고 그 소스에 데이터를 주면 될 것 같습니다. iframe에 데이터를 주는 것은 javascript를 이용하면 됩니다. 위지윅 에디터를 만들 때 흔히 쓰거든요.  아래와 비슷한 방식을 이용하세요.

<iframe src="about:blank" id="iframe"></iframe>
<script>
var data = '<?php /* 여기에 디비에서 가져오는 데이터를 적어줍니다. */ ?>';
var iframe = document.getElementById('iframe');
iframe.contentWindow.[removed](data);
</script>


letsgolee / 2013/12/01 18:33:11 / 추천 0
 [removed]는 document . write 입니다. 띄어쓰기를 없애면 되요. 왜 이게 제거되죠???
변종원(웅파) / 2013/12/01 19:17:13 / 추천 0
document. write 가 먹히면 해킹당할 수 있습니다. 
한대승(불의회상) / 2013/12/02 10:28:23 / 추천 0
letsgolee// XSS 필터가 적용되어 있어서 그렇습니다.
CI에서 $this->input->post() 사용시 2번째 옵션을 TRUE로 하시면 선별적을 필터 적용 여부를 선택 할 수 있습니다.
letsgolee / 2013/12/02 10:28:59 / 추천 0
 script에서되는 것이지 일반에서는 상관없는데요...
변종원(웅파) / 2013/12/02 10:54:00 / 추천 0
letsgolee/ 글쓰기할때 글 내용에 <script>alert('a')</script> 넣고 저장하고
글 보기를 하면 보안에 취약한 게시판은 경고창이 실행됩니다. 그냥 뚫릴 수 있는 상태이구요.
document. write도 마찬가지 입니다.

xss 검색해보시면 위험성을 아실 수 있습니다.
letsgolee / 2013/12/02 11:07:35 / 추천 0
모든 스크립트는 script 태그 내에서만 작동하게 되어 있습니다. 따라서 script 태그만 막으면 됩니다.

XSS에 대해서는 이미 잘 알고 있습니다. 만일 CI에서 XSS필터가 이것까지 막는 것이라면 과잉반응이라고 생각이 듭니다. 외국의 경우 위지윅에디터를 사용하지 않고 bbcode형식이나 wiki형식의 에디터를 사용하는 것은 XSS에 따른 문제로 인한 것을 이미 예전부터 인식하고 있었거든요.

아마도 CI에서 막은 것은 혹 document . write와 같은 코드가 HTML 태그 내에서 onclick/onload와 같은 스크립트성 속성 값에 있을 것을 염두하고 막은 것 같은데 막는 방법이 잘못된 것 같네요.
한대승(불의회상) / 2013/12/02 11:10:47 / 추천 0
letsgolee// 개선되리라 생각 됩니다만, CI 의 XSS 필터는 사용자 관점에서 볼때 과한 부분이 있습니다.


변종원(웅파) / 2013/12/02 13:33:23 / 추천 0
letsgolee/  제가 댓글 다는 분들의 개발연수, 등급정도를 모두 알 수가 없습니다.
xss에 대해 잘 아시면 style 태그나 기타에도 여러 방법이 가능한 것을 아실 겁니다.
꼭 script가 아니더라도요.
보안에 관해서 견해가 다를 수 있지만 보안은 모자른 것은 없는 것만 못합니다.
알려진 대부분의 것을 처리하지 못하면 보안이라고 내 놓을 수가 없죠.
사용자 입장에서는 잘못 됐다거나 과하다고 판단할 수 있지만 프레임워크를 내놓는 입장에서는
몇개는 처리하고 몇개는 처리되지 못하는 보안방식은 내세울 수가 없는거죠.

나하고 안맞는 것과 틀린 것은 구분을 해주세요.