DedeCMS:CSRF Token Check Failed! 问题说明及解决方案

今天在使用后台编辑织梦广告的时候,不管是保存还是删除,都会提醒DedeCMS:CSRF Token Check Failed!内容,请注意不是系统BUG而是系统的一种安全防护。

专业名称:CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

问题解决

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;
}
}

上述代码无需变更

2、代码删除部分,在/dede/tpl.php,在92行

else if($action == 'saveedit')
{
csrf_check(); //删除此验证内容即可 www.lijinlong.cc
if($filename == '')
{
ShowMsg('未指定要编辑的文件或文件名不合法', '-1');
exit();
}
if(!preg_match("#\.htm$#", $filename))
{
ShowMsg('DEDE模板文件,文件名必须用.htm结尾!', '-1');
exit();
}
$content = stripslashes($content);
$content = preg_replace("/##textarea/i", "<textarea", $content);
$content = preg_replace("/##\/textarea/i", "</textarea", $content);
$content = preg_replace("/##form/i", "<form", $content);
$content = preg_replace("/##\/form/i", "</form", $content);
$truefile = $templetdird.'/'.$filename;
$fp = fopen($truefile, 'w');
fwrite($fp, $content);
fclose($fp);
ShowMsg('成功修改或新建文件', 'templets_main.php?acdir='.$acdir);
exit();
}

友情提醒

为了后台模板的安全性,建议不要删除上述的验证内容,可以直接使用FTP下载模板,修改后二进制上传覆盖源文件

给TA买糖
共{{data.count}}人
人已赞赏
织梦教程

网站优化升级,提前预祝大家"五一劳动节"快乐!

2021-4-28 15:49:43

站长教程织梦教程

织梦dede实现筛选功能,多级联动筛选功能二次开发

2021-5-14 9:03:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索