如何在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) )

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

如何在DEDECMS后台成功添加新变量以避免Request var not allow!错误?
if( strlen($svar)<0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )

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

3. 检查变量名长度

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

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

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1229669.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-21 10:08
下一篇 2024-03-27 23:49

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入