본문 바로가기
프로그램개발/ServerSide(PHP,Node.js)

스마트에디터에서 iframe embed 태그 제거 부분 관련 참고

by 크레도스 2017. 5. 15.

=질문=

스마트에디터2.9 버전에서인지 그전에인지는 모르겠으나
2.8.2 > 2.9로 바로 업데이트 적용했습니다.

헌데 , SE2BasicCreator.js 파일에서 iframe,embed 등 일부 태그를 에디터에서 강제 삭제하네요.
보안관련해서 패치된건 알겠는데

허용 도메인을 너어서 정규식에서 체크되도록 하면 될듯한데
방법이 어떻게 되는지요.

무작정 저 태그들을 지우기만하면.. 영상 삽입 기능을 적용할 수 없어서 말이죠..


=답변=

보안이슈때문에 2.8.2.3에서 client-side xss filter 기능이 추가되었습니다.
서버단에서 xss 필터링 룰을 따로 관리하고 있어서 스마트에디터에서 해당 태그를 제거하지 않길 원하신다면 아래와 같이 bSkipXssFilter옵션을 true로 지정해주시면 됩니다.

nhn.husky.EZCreator.createInIFrame({
	oAppRef: oEditors,
	elPlaceHolder: "ir1",
	sSkinURI: "SmartEditor2Skin.html",	
	htParams : {
		bUseToolbar : true,				// 툴바 사용 여부 (true:사용/ false:사용하지 않음)
		bUseVerticalResizer : true,		// 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
		bUseModeChanger : true,			// 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
		bSkipXssFilter : true,		// client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용)
		//aAdditionalFontList : aAdditionalFontSet,		// 추가 글꼴 목록
		fOnBeforeUnload : function(){
			//alert("완료!");
		},
		I18N_LOCALE : sLang
	}, //boolean
	fOnAppLoad : function(){
		//예제 코드
		//oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
	},
	fCreator: "createSEditor2"
});