如何在DEDECMS后台成功添加新变量以避免Request var not allow!错误?
- 行业动态
- 2024-10-21
- 4335
在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!”错误,如果问题依旧存在,建议查阅官方文档或寻求专业帮助。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/160805.html