欢迎来到酱油妹!织梦模板,dede模板下载,织梦cms模板,免费网站模板下载站

酱油妹

织梦DEDE文章增加HTML自概念字段字符被过滤问题

企业模板

在织梦DEDE后台频道模型增加自概念字段,一般HTML文字编辑器能解决用户编辑问题,当然还包括纯单行或多行文本编辑。但发现织梦DEDE会自动过滤掉某些敏锐的字符,譬如style样式,百度地图js调用问题。下面主要围绕着两个问题共享一下个人的经验。

打造自概念字段可以参考《织梦DEDE怎么样添加自概念字段与前台调用内容》

HTML文字样式编辑乱码问题

织梦DEDE默认的文本编辑器虽然不太美观,但是最简单,我更换过百度利器:ueditor,功能强大,满足了绝大用户的编辑需要,但是替换的时候还需要二次开发,譬如上传图集问题,点不了本地上传的按钮等,所以还是选择用默认的文本编辑器。

自概念的HTML编辑器功能强大,但是还是不如默认模型的文本编辑器,为了数据安全,譬如用在评论的地方,会过滤掉某些敏锐词,或者某些非法窃取数据的代码。dede采用include\helpers\filter.helper.php进行过滤,被过滤的可以找到如下字段:

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

依据实质需要删除style即可,就可以解决HTML文本编辑器的样式乱码问题。

百度地图js失效问题

百度地图生成器地址(http://api.map.baidu.com/lbsapi/createmap/index.html),设置完了之后点击复制代码,多余的代码可以不要,仅需复制 <script type="text/javascript"> 到 </script >之间的代码即可,其他代码,依据实质状况直接写在内容页模板里面,这里应该注意的是百度需要提供开发密钥,站长们去申请就好了,直接写在内容模板里。把显示地图的地区代码放在适合的位置,代码如下:

<!--百度地图容器,样式依据实质状况修改,id默觉得map-->
<div style="width:700px;height:550px;border:#ccc solid 1px;font-size:12px" id="map"></div>

紧接着就把js部分全部复制粘贴到自概念的文本框内,假如怕字符数限制,可以自身调大点。


把工作做完了之后,在前台能看到一切正常,会发现第三进入编辑的时候,某些字符会被过滤,譬如: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。但是第二次进来编辑的时候,前台地图仍然失效,通过文本对比工具发现,还有“,”逗号也被过滤了。在朋友的协助下,还是围绕include\helpers\filter.helper.php这个文件下功夫。

在大概68行

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

改成

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

问题得到解决。但不知道是不是涉及到安全问题,假如不删除上述这些字段,还有其他达成办法。其实地图乱码应该修改68行的代码就足够了,在include\helpers\filter.helper.php发现以下这个字段,把它删除就能解决样式乱码问题。

(责任编辑:酱油妹)


希望以上内容可以解决您的问题!
如有其他问题欢迎大家一起交流学习!
作者:酱油妹 来源:互联网 关注: 时间:2020-06-15 19:07
版权声明:凡注明来源为www.jiangyoumei.com的均为本站原创,转载请注明来源。
本文网址:http://www.jiangyoumei.com/jiaocheng/wenti/20200615/7591.html
►凡本站提供教程均已验证教程的准确性。
►为提高用户在织梦后台添加栏目的灵活性(可随意添加/删除栏目),并保持(管理后台添加/删除栏目)与前端网站栏目的一致,本站模板中栏目均未固定,用户直接搜索typeid=''并替换''中的数字为所需栏目id即可。
►本站提供各种类型织梦模板!希望在这里找到喜欢的。下载本站模板,用户直接替换相关文字和图片即可。
►本站仅提供织梦模板即(DEDE模板),(除另外说明)均不带织梦安装程序及数据,用户直接覆盖默认模板即可。
►本站所有资源(包括源码、模板、插件等)仅供学习与参考,请勿用于商业用途。
►如有其他问题,请加网站客服QQ(375750496)进行交流。
相关织梦教程
在线客服

织梦模板 整站模板 新手教程 使用技巧