<script>//<![CDATA[ var imgInjection = xe.createPlugin("img_injection", { API_BEFORE_VALIDATE : function(sender, params) { jQuery(params).find('input[name=content]').val().replace(/<img(.*)src=\"(.*)act=(disp|proc)(.*)>/gi, ''); } }); var oImgInjection = new imgInjection(); var oImgValidator = xe.getApp("Validator")[0]; oImgValidator.registerPlugin(oImgInjection); //]]></script>
레이아웃이든 어디든 좋습니다. 위 스크립트를 추가하세요. 그러면 글 등록 시 알아서 해당 이미지 태그를 지워 줍니다.
저는 이 문제를 근본적으로 해결하는 방법이 xml_js_filter.js legacy_filter()에서 필터링 하는거라고 생각합니다.
물론 서버사이드에서 정규식으로 지워도 되겠지만... 입력 모듈이 document모듈 하나만 있는것도 아니고 다른 개발자가 만드는 모듈도 있을테니, 하지만 filter 기능을 쓰게 되면 모든 검사로직이 legacy_filter()로 모이게 되니 이곳이 어떻게 보면 효율적인 최종 방어라인이 아닐까 생각되네요.
위 스크립트는 XE가 행복한고니님이 제작한 JAF 방식을 사용 하고 있기 때문에 폼이 넘어가기전에 인터셉트하는 방법입니다.