• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦dede5.7以上及以下版本添加新变量Request var
    POST TIME:2019-09-30 17:44

    很多朋友都反馈说在后台添加新变量的时候会出现 "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行

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!