2017-12-13 4 views
0

우리는 최신 버전 인 Nuget에서 제공되는 CKEditor (Full) 4.7.3을 사용하고 있습니다. 소스 모드에서 미리보기 도구 모음 단추를 사용하지 않도록 설정하기 위해 여러 가지 해결책을 시도했지만 작동하지는 못했습니다. 페이지에 둘 이상의 편집기가있는 경우가 있으며, 관련이없는 논리로 인해 사용자 정의 컨트롤 (.ascx)으로 추가됩니다. 예를 들어 아래에서 시도했습니다.CKEditor 4의 소스 모드에서 미리보기 단추를 비활성화하려면 어떻게합니까?

CKEDITOR.on('instanceReady', function (instance) { 
    instance.editor.addCommand('preview', { 
     modes: { wysiwyg: 1, source: 0 } 
    }); 
}); 

config.js를 통해 툴바 버튼을 구성합니다.

CKEDITOR.editorConfig = function (config) { 
    config.toolbar_CMToolbar = 
     [ 
      { name: 'sourcedialog', items: ['Source', '-', 'Preview'] } 
     ]; 
}; 

우리는이 악성 스크립트를 실행하는 자바 스크립트의 원인, 소스 모드와 미리보기가 즉시 요청한 년 동안 추가 된 경우 보안 문제를 방지하는 것입니다 필요한 이유. 일반적으로 wysiwyg 모드는이를 치료하고 악의적 인 스크립트는 검증되었을 것입니다.

다음은 참조 용으로 문제를 일으키는 샘플 스크립트입니다.

"><img src=x onerror=alert(7)> 

이 단지의 주요 문제를 회피보다는 고정되어 부여하지만,이 해결 방법은 더 빨리 처리 할 것이다 (주변에 태그를 따옴표에 이르기까지 모든 것을 포함).

이 문제를 해결하는 방법에 대한 제안을 기다리고 있습니다. 감사!

답변

0

이 같은 명령의 속성을 변경할 수 있습니다 :

CKEDITOR.on('instanceReady', function(evt) {     
    evt.editor.commands.preview.modes.source = 0; 
}); 
+0

감사합니다! 이것은 완벽하게 작동했습니다! 이 취약점이 이미 개발자에게보고되었는지 확인해야 할 것 같습니다. –

관련 문제