2017-12-13 35 views
0

私たちは最新のバージョン4.7.3のCKEditor(フル)を使用しています。ソースモードでプレビューツールバーのボタンを無効にするにはいくつかの解決策を試しましたが、動作させることはできませんでした。ページに複数のエディタがあり、関連のないロジックのためにユーザーコントロール(.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'] } 
     ]; 
}; 

我々はこれを必要とする理由は、ソースモードとプレビューですぐに要求している間に悪意のあるスクリプトはJavaScriptを実行させる、追加された際にセキュリティ上の問題を避けるためです。通常、wysiwygモードでこれを駆除し、悪質なスクリプトを検証します。

以下は、この問題を引き起こすサンプルスクリプトです(参照用です)。

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

が、これは単に主な問題を回避するのではなく、それを固定している確かに、この回避策が迅速に処理される(近くにタグ付けするために二重引用符からすべてを含めます)。

これを修正する方法についてのご意見をお待ちしています。ありがとう!

答えて

0

あなたはこのようなコマンドのプロパティを変更することができます。

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

感謝を!これは完全に機能しました!この脆弱性が既に開発者に報告されているかどうかを確認する必要があります。 –

関連する問題