DEDE织梦cms常用的参数标签汇总、以及操作过程中的一些bug问题解决方法,dede网站二开,以下龙腾飞网络科技-小吴在建站实操中笔记记录,织梦dede建站教程保存使用非常方便:
【DEDE建站教程】
织梦网站报错代码汇总1
问题一:dede发文章的时候出现(无法发布)
1、把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方。Duplicate entry '5' for key 'PRIMARY'/2、The server encountered an internal error or misconfiguration and was unable to complete your request.
2、Internal Server Error
Please contact the server administrator, webmaster@xyu4382840001.my3w.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
原因:文章中的图片加了权限;
解决方法:把文章中图片删了即可。
完成。刷新、重启、清缓存、退出再登录
问题二:dede发文章发布出去,提示:
把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方。Duplicate entry“2532” for key“PRIMARY”
原因:出现这种情况其实是你的主键是不可重复的,现在重复插入值为2532的主键了。
解决方法:可以去掉主键唯一,或是设成自增加。就不会出现这种情况了。
具体解决方法操作如下:
进入后台,“系统” - “系统设置” - “SQL命令行工具”
运行SQL命令行:
alter table dede_addonarticle drop primary key
//注意把自己的数据表前缀改为自己的。
完成。文章可以顺利发布出去,但是在返回编辑文章的时候,文章里会出现很多英文,删掉就可以了。
完成。刷新、重启、清缓存、退出再登录
问题三:安装织梦DedeCMS系统时,提示:
Safe Alert: Request Error step 1 ! 或Safe Alert: Request Error step 2!
原因:这是由于新版dedecms系统中使用了SQL语句防注入功能引了的安全警告。
在自定义模模型中使用了union|sleep|benchmark|load_file|outfile之一都会引发这个警告,此外采集的内容,如果有 ‘union 这类语法也会出现在这个警告。
目前没有100%完美的解决方法又能增强安全,又能防止注入!
解决方法一:安装时的第三步,把所有的模块前面的勾都取消。
也就是不要安装任何模块,如需要模块,安装完成后到后台添加相应模块即可。
解决方法二:可修改dedecms的db基类把安全检查关掉:
打开include下的dedesql.class.php找到下列构造函数(大概在第47行左右)
把
$this->safeCheck = true;
改为
$this->safeCheck = false;
然后,重新刷新dede安装的界面即可。
对于大多数网站,如果能正常运行,建议不要修改织梦的底层方法。
此文件导致的错误会在 data 中生成一个 md5_safe.txt ,该文件可作参考,以便及时修正。
完成。刷新、重启、清缓存、退出再登录
问题四、织梦dede后台修改文件出现DedeCMS:CSRF Token Check Failed!解决
问题:使用织梦搭建网站的过程中,在官网下载的dede后台程序,在后台文件管理器中修改php或者css文件,保存之后会出现DedeCMS:CSRF Token Check Failed这样一个提示,无法保存修改的文件,那么DedeCMS:CSRF Token Check Failed到底是什么意思呢?
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
原因:出现DedeCMS:CSRF Token Check Failed!,由于您重新打开了一个需要CSRF校验的表单页面。
解决方法一:
打开 dede/file_manage_view.php ,大约处于118行,找到
$path_parts = pathinfo($filename);
在它下面一行加入
$GLOBALS['token'] = make_hash();
完成。刷新、重启、清缓存、退出再登录
【注:以上操作如果已添加,还未能解决问题,可执行以下方法二操作】
解决方法二:
1、打开 dede/config.php,大约第63行,找到
function csrf_check()
{
global $token;
if(!isset($token) || strcasecmp($token, $_SESSION['token']) !== 0){
echo '<a href="http://bbs.dedecms.com/907721.html">DedeCMS:CSRF Token Check Failed!</a>';
exit;
}
}
在
global $token;
上一行添加
return;
即变为:
function csrf_check()
{
return;
global $token;
if(!isset($token) || strcasecmp($token, $_SESSION['token']) !== 0){
echo '<a href="http://bbs.dedecms.com/907721.html">DedeCMS:CSRF Token Check Failed!</a>';
exit;
}
}
2、打开 dede/tpl.php 文件,将第93行代码
exit('Error:no csrf hash code!');
注释掉。即变为:
if ( empty(${$_csrf['name']}) OR $_csrf['hash'] !== ${$_csrf['name']})
{
//exit('Error:no csrf hash code!');
}
完成。刷新、重启、清缓存、退出再登录