欢迎来到入门教程网!

dedecms

当前位置:主页 > CMS教程 > dedecms >

织梦dede5.7以上及以下版本添加新变量Request var not allow!

来源:本站原创|时间:2020-05-31|栏目:dedecms|点击:

很多朋友都反馈说在织梦dedecms后台添加新变量的时候会出现 "Request var not allow!" 的BUG错误.

本文主要就是介绍如何去解决这个问题!下面看具体操纵:

在DEDE根目录打开 include/common.inc.php 文件,查找到以下内容(大约59行):

注意:此解决办法针对以前的版本,精确到哪个版本之前未考证,

最新的版本v5.7已修订以下内容(2011.8.10),并有更多判断,在本文下方,会给出相关说明。

//检查和注册外部提交的变量

function CheckRequest(&$val) {

if (is_array($val)) {

foreach ($val as $_k=>$_v) {

CheckRequest($_k);

CheckRequest($val[$_k]);

}

} else{

if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS)#',$val) )

{

exit('Request var not allow!');

}

}

}

将以上内容替换成以下内容:

//检查和注册外部提交的变量

function CheckRequest(&$val) {

if (is_array($val)) {

foreach ($val as $_k=>$_v) {

if($_k == 'nvarname') continue;

CheckRequest($_k);

CheckRequest($val[$_k]);

}

} else{

if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS)#',$val) )

{

exit('Request var not allow!');

}

}

}

修改完了之后保存,再去后台试试添加新变量.以下内容为建站吧更新。

(此为2011.11.24更新)最新的版本(截止到2011.11.11的v5.7版)也可能出现"Request var not allow!" 的问题,下面请看代码:

//检查和注册外部提交的变量 (2011.8.10 修改登录时相关过滤)

function CheckRequest(&$val) {

if (is_array($val)) {

foreach ($val as $_k=>$_v) {

if($_k == 'nvarname') continue;

CheckRequest($_k);

CheckRequest($val[$_k]);

}

} else

{

if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$val) )

{

exit('Request var not allow!');

}

}

}

找到:根目录->include->common.inc.php

if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )

官方是不是大意了,写成了“如果添加的变量名长度大于零”就返回错误

只要把“>”改成“<”即可解决问题

一共需要修改两处:第74行和96行

上一篇:织梦dedeCMS文章防刷新机制的代码

栏    目:dedecms

下一篇:常用的dedecms模板开发标签收藏

本文标题:织梦dede5.7以上及以下版本添加新变量Request var not allow!

本文地址:https://www.xiuzhanwang.com/a1/dedecms/13213.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有