关于DEDECMS5.7在高环境PHP5.4版本上存在的问题全面解决方案:
虽然DEDE是公然的不安全,但是简单,而且设置SEO非常方便,今天用dedecms搞了站放PHP环境中,发现不tags title 文章标题及内容中文为空,特分享一下解决方案,有用到的请参考
问题根源:PHP版本升级为PHP5.4之后,htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
解决办法:给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
具体修改页面:
1、dede/article_add.php 和 dede/article_edit.php
将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
2、include/ckeditor/ckeditor_php5.php
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
3.在所有的htmlspecialchars 代码后加,ENT_COMPAT ,'GB2312' 即可解决问题
操作方法很简单,直接在文件夹查找这个文件,然后统一替换
虽然DEDE是公然的不安全,但是简单,而且设置SEO非常方便,今天用dedecms搞了站放PHP环境中,发现不tags title 文章标题及内容中文为空,特分享一下解决方案,有用到的请参考
问题根源:PHP版本升级为PHP5.4之后,htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
解决办法:给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
具体修改页面:
1、dede/article_add.php 和 dede/article_edit.php
将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
2、include/ckeditor/ckeditor_php5.php
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
3.在所有的htmlspecialchars 代码后加,ENT_COMPAT ,'GB2312' 即可解决问题
操作方法很简单,直接在文件夹查找这个文件,然后统一替换
本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长
如若转载,请注明出处:https://htmlbk.com/dedecms/336.html
温馨提示:该文档最后一次修改时间为2019-11-21 14:36:11,请注意相关的内容是否还可用!