phpcms ckeditor編輯器自動過濾script iframe frame javascript

如果你的網站是基于phpcms建站程序的,那么你在發布內容時,如果在編輯器里以源碼方式輸入了HTML的、、標簽顯示一切正常,但當你保存內容后查看前臺效果或返回修改該內容時會發現這幾個標簽被自動過濾了。這是因為phpcms程序在保存內容時設置了過濾這幾個標簽,目的是防止腳本注入,但對于需要在內容里插入這些標簽的網站編輯或SEO優化人員來說太不方便了,如果確實需要,可以修改程序文件,打開/phpcms/libs/functions/global.func.php文件,搜索代碼function trim_script定位到trim_script函數,如下代碼所示:

functiontrim_script($str){

? ? ? ? ?if(is_array($str)){

? ? ? ? ? ? ? ? ? ? ? foreach($stras$key=>$val){?

? ? ? ? ? ? ? ? ? ? ? ? ? ? $str[$key]=trim_script($val);

? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? }else{

? ? ? ? ? $str=preg_replace('/\<([\/]?)script([^\>]*?)\>/si','<\\1script\\2>',$str);?

? ? ? ? ? $str=preg_replace('/\<([\/]?)frame([^\>]*?)\>/si','<\\1frame\\2>',$str);

? ? ? ? ? $str=str_replace('javascript:','javascript:',$str);

? ? ? ?}?

? ? ? ? return$str;

}

根據自身情況,可選擇注釋掉以上"$str=preg_...",這樣在保存內容的時候就不會過濾掉你注釋掉的HTML標簽了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容