在使用 Dedecms CMS 的过程中,有时会遇到一些技术问题。今天我们就来解决一个常见的问题:在 Dedecms V57 最新版中,当尝试在后台添加新变量时,系统会弹出错误提示“Request var not allow!”。接下来,我们将详细讲解如何解决这一问题,并确保您的网站能够正常运行。

首先,我们需要明确问题的根源。经过分析发现,这个问题与 Dedecms 的安全机制有关。具体来说,Dedecms 在处理变量时会对变量名进行检查,以防止潜在的安全风险。然而,在某些情况下,这种检查可能会误判,导致合法的变量名也无法通过验证。

为了解决这个问题,请按照以下步骤操作:

第一步,找到 Dedecms 根目录下的 include 文件夹,然后打开 common.inc.php 文件。

第二步,在该文件中定位到以下代码段:


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

这段代码的作用是检查变量名是否符合规则。如果变量名长度大于零并且匹配了特定的正则表达式,则会返回错误提示“Request var not allow!”。

第三步,修改代码中的条件判断逻辑。将代码中的“>”符号改为“<”。修改后的代码如下所示:


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

请注意,您需要对文件中的两处代码进行同样的修改。通常,这两处代码分别位于第74行和第76行。

完成上述修改后,保存文件并重新上传至服务器。此时,再次尝试在后台添加新变量,应该不会再出现“Request var not allow!”的错误提示。

为了确保您的网站更加安全,建议在完成修改后,对整个网站进行一次全面测试,确保其他功能未受影响。

以上就是解决 Dedecms V57 后台添加新变量时出现“Request var not allow!”问题的方法。希望这篇文章能帮助到正在为此困扰的朋友们!如果您还有其他问题,欢迎随时交流。

注意:在进行任何代码修改前,请务必备份相关文件,以免造成不必要的损失。