云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在DEDECMS后台成功添加新变量以避免Request var not allow!错误?

在DEDECMS后台添加新变量时,如果出现”Request var not allow!”的错误提示,通常是因为系统安全设置限制了某些请求变量的操作。以下是解决办法:,,1. **检查配置文件**:确保/include/config.inc.php文件中的$cfg_allow_variable变量设置为true。,2. **检查权限**:确认你有足够的权限进行此操作。,3. **更新系统**:确保你的DEDECMS版本是最新的,有时更新可以解决已知问题。,4. **联系技术支持**:如果以上方法无效,建议联系DEDECMS官方技术支持寻求帮助。,,希望这些建议能帮助你解决问题!

在DEDECMS后台添加新变量时遇到“Request var not allow!”错误提示,通常是由于系统对外部提交的变量进行了安全检查,以下是一些可能的解决方法:

1. 修改common.inc.php文件

在DEDECMS的根目录中,找到并打开include文件夹下的common.inc.php文件,在该文件中,查找到以下代码段:

//检查和注册外部提交的变量
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!');
}
}
}

保存修改后的文件,然后尝试在后台添加新变量。

2. 修改正则表达式判断条件

在common.inc.php文件中,找到以下代码:

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

将其中的">"改为"<",即:

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

这样修改后,保存文件并尝试添加新变量。

3. 检查变量名长度

如果问题仍然存在,可能是由于添加的变量名长度大于零导致的,在这种情况下,可以尝试将变量名缩短,或者更改变量名以避免与现有变量冲突。

通过这些步骤,您应该能够解决在DEDECMS后台添加新变量时遇到的“Request var not allow!”错误,如果问题依旧存在,建议查阅官方文档或寻求专业帮助。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在DEDECMS后台成功添加新变量以避免Request var not allow!错误?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/254278.html

评论

  • 验证码