自拍亚洲一区欧美另类,亚洲成人影院,亚洲午夜久久久久妓女影院,最近中文字幕高清中文字幕无,亚洲熟妇av一区二区三区漫画

互聯(lián)網(wǎng)知識(shí)

精準(zhǔn)傳達(dá) ? 價(jià)值共享

洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營(yíng)銷(xiāo)規(guī)律

織夢(mèng)自定義HTML文本亂碼dede文章增加HTML自定義字段字符被過(guò)濾問(wèn)題

作者:狐靈科技 | 2019-11-23 16:09 |點(diǎn)擊:

在dedecms后臺(tái)頻道模型增加自定義字段,一般HTML文字編輯器能解決用戶編輯問(wèn)題,當(dāng)然還包括純單行或多行文本編輯。但發(fā)現(xiàn)dedecms會(huì)自動(dòng)過(guò)濾掉某些敏感的字符,比如style樣式,百度地圖js調(diào)用問(wèn)題。下面主要圍繞著兩個(gè)問(wèn)題分享一下個(gè)人的經(jīng)驗(yàn)。

      建立自定義字段可以參考《dedecms如何添加自定義字段與前臺(tái)調(diào)用內(nèi)容》

HTML文字樣式編輯亂碼問(wèn)題

       dedecms默認(rèn)的文本編輯器雖然不太美觀,但是最簡(jiǎn)潔,我更換過(guò)百度神器:ueditor,功能強(qiáng)大,滿足了絕大用戶的編輯需要,但是替換的時(shí)候還需要二次開(kāi)發(fā),比如上傳圖集問(wèn)題,點(diǎn)不了本地上傳的按鈕等,所以還是選擇用默認(rèn)的文本編輯器。

       自定義的HTML編輯器功能強(qiáng)大,但是還是不如默認(rèn)模型的文本編輯器,為了數(shù)據(jù)安全,比如用在評(píng)論的地方,會(huì)過(guò)濾掉某些敏感詞,或者某些非法竊取數(shù)據(jù)的代碼。dede使用include\helpers\filter.helper.php進(jìn)行過(guò)濾,被過(guò)濾的可以找到如下字段:

       $ra1 = array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');

       根據(jù)實(shí)際需要?jiǎng)h除style即可,就可以解決HTML文本編輯器的樣式亂碼問(wèn)題。

百度地圖js失效問(wèn)題

       百度地圖生成器地址(http://api.map.baidu.com/lbsapi/createmap/index.html),設(shè)置完了之后點(diǎn)擊復(fù)制代碼,多余的代碼可以不要,只需要復(fù)制  <script type="text/javascript"> 到 </script >之間的代碼即可,其他代碼,根據(jù)實(shí)際情況直接寫(xiě)在內(nèi)容頁(yè)模板里面,這里需要注意的是百度需要提供開(kāi)發(fā)密鑰,站長(zhǎng)們?nèi)ド暾?qǐng)就好了,直接寫(xiě)在內(nèi)容模板里。把顯示地圖的區(qū)域代碼放在適合的位置,代碼如下:

    <!--百度地圖容器,樣式根據(jù)實(shí)際情況修改,id默認(rèn)為map-->
   <div style="width:700px;height:550px;border:#ccc solid 1px;font-size:12px" id="map"></div>

       接下來(lái)就把js部分全部復(fù)制粘貼到自定義的文本框內(nèi),如果怕字符數(shù)限制,可以自己調(diào)大點(diǎn)。

百度地圖插入js

      把工作做完了之后,在前臺(tái)能看到一切正常,會(huì)發(fā)現(xiàn)再次進(jìn)入編輯的時(shí)候,某些字符會(huì)被過(guò)濾,比如:title,script等,變成sc<x>ript等亂七八糟的字符,讓地圖顯示失效。同樣按照上述,

  $ra1 = array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');

      刪除title、script、javascript。但是第二次進(jìn)去編輯的時(shí)候,前臺(tái)地圖仍然失效,通過(guò)文本對(duì)比工具發(fā)現(xiàn),還有“,”逗號(hào)也被過(guò)濾了。在朋友的幫助下,還是圍繞include\helpers\filter.helper.php這個(gè)文件下功夫。

       在大概68行

       $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);

       改成

       $val = preg_replace('/([\x00-\x08|\x0b-\x0c|\x0e-\x19])/', '', $val);

      問(wèn)題得到解決。但不知道是否涉及到安全問(wèn)題,如果不刪除上述這些字段,還有其他實(shí)現(xiàn)方法。其實(shí)地圖亂碼應(yīng)該修改68行的代碼就足夠了,在include\helpers\filter.helper.php發(fā)現(xiàn)以下這個(gè)字段,把它刪除就能解決樣式亂碼問(wèn)題。dede禁止會(huì)員投稿添加css樣式

如沒(méi)特殊注明,文章均為狐靈科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明?? "織夢(mèng)自定義HTML文本亂碼dede文章增加HTML自定義字段字符被過(guò)濾問(wèn)題
多一份免費(fèi)策劃方案,總有益處。

請(qǐng)直接添加技術(shù)總監(jiān)微信聯(lián)系咨詢

網(wǎng)站設(shè)計(jì) 品牌營(yíng)銷(xiāo)

多一份參考,總有益處

聯(lián)系狐靈科技,免費(fèi)獲得專屬《策劃方案》及報(bào)價(jià)

咨詢相關(guān)問(wèn)題或預(yù)約面談,可以通過(guò)以下方式與我們聯(lián)系

業(yè)務(wù)熱線:15082661954 / 大客戶專線:15523356218