保存のスクリプトタグ(およびエピソードがあるんですが、CKEditor
-
20-09-2019 - |
質問
であることができるブロックのコード内のCKEditorるには触れないようにしてくださいeditorによって、維持されており状態で明示的に変更により、ユーザーしている入力をjavascriptの変数のバインドされているスクリプトタグ)およびフラッシュ映画の以下のものCKEditor続けて書き換えが私に貼り付けコード/マークアップ、その破れの私のコードです。
私は、以下のセットアップ:
<script type="text/javascript">
var editor = CKEDITOR.replace("content", {
height : "500px",
width : "680px",
resize_maxWidth : "680px",
resize_minWidth : "680px",
toolbar :
[
['Source','-','Save','Preview'],
['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['Link','Unlink','Anchor'],
['Image','Table','HorizontalRule','SpecialChar']
]
});
CKFinder.SetupCKEditor( editor, "<?php print url::base(); ?>assets/ckfinder" );
</script>
というのに最も理想的なソリューションが保存の内容を任意のタグを含む class="preserve"
実はいつも以上に限定店をお待ち.
更新:私は考え方のこうした問題をクリアできるで CKEDITOR.config.protectedSource()
, も正規表現を体験で証明するもの少年を取り扱います。方法を教えてくださいって免除すべてのタグが含まれる'保存'クラスからの触れることによりCKEditor?
解決 3
の問題はCKEditor.その代わりに、問題のMVCエンジンのサイトです。Kohanaは global_xss_filtering
その設定はデフォルトで有効です.この投稿のスクリプトタグを防ぐため、スクリプティング攻撃に関するものとします。この値を変更 false
許可書の提出 <script>
タグの形態でも、サイトの潜在的なセキュリティ問題をできる非常に深刻です。なっていることが望ましいで解除されません global_xss_filtering
.
/* /(system|application)/config/config.php - line 66 */
/**
* Enable or disable global XSS filtering of GET, POST, and SERVER data. This
* option also accepts a string to specify a specific XSS filtering tool.
*/
$config['global_xss_filtering'] = FALSE;
他のヒント
にCKEDITORフォルダごて config.js ファイルです。開いたペーストのコード:
CKEDITOR.editorConfig = function( config ) {
config.allowedContent = {
script: true,
$1: {
// This will set the default set of elements
elements: CKEDITOR.dtd,
attributes: true,
styles: true,
classes: true
}
};
};
することにより <script>...</script>
タグのソースコードモードになります。
提案1: を別の平textareaの管理者のスクリプト/HTMLのコードです。
提案2: をご紹介しbbcodeのように、 [script][/script]
または [html][/html]
の管理者用のスクリプト/HTMLコードとしてサーバ側のシフトし <script></script>
HTMLのコードです。さを表す場合には保存されているコンテンツのCKEditor、サーバ側のシフトし、bbcodeの最初(またはCKEditorますストリップしています。または、少ない手間が店舗、提出されたコンテンツのデータベースで入力しただけの翻訳を表示する場合、ページです。
提案3:て利用したい class="preserve"
マークタグによってお使いCKEditorグレーのクラムシェル型クランプは、その後の追加は以下のJavaScriptライン時の初期化エディタ:
// protect <anytag class="preserve"></anytag>
CKEDITOR.config.protectedSource.push( /<([\S]+)[^>]*class="preserve"[^>]*>.*<\/\1>/g );
// protect <anytag class="preserve" /><
CKEDITOR.config.protectedSource.push( /<[^>]+class="preserve"[^>\/]*\/>/g );