金煊 發表於 2024-3-25 00:00:00

织梦DedeCMS添加变量报错Request var not allow!的解决办法

<span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>论坛上很多人都反馈说在后台添加新变量的时候会出现 "Request var not allow!" 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:</span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>在DEDE根目录打开 include/common.inc.php 文件,查找到以下内容:</span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode32" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        <br>
        //检查和注册外部提交的变量<br>
        function CheckRequest(&amp;$val) {<br>
        if (is_array($val)) {<br>
        foreach ($val as $_k=&gt;$_v) {<br>
        CheckRequest($_k); <br>
        CheckRequest($val[$_k]);<br>
        }<br>
        } else<br>
        {<br>
        if( strlen($val)&gt;0 &amp;&amp; preg_match('#^(cfg_|GLOBALS)#',$val) )<br>
        {<br>
        exit('Request var not allow!');<br>
        }<br>
        }<br>
        } </div>
<br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>将以上内容替换成以下内容:</span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode33" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        <br>
        //检查和注册外部提交的变量 <br>
        function CheckRequest(&amp;$val) {<br>
        if (is_array($val)) {<br>
        foreach ($val as $_k=&gt;$_v) {<br>
        if($_k == 'nvarname') continue;<br>
        CheckRequest($_k); <br>
        CheckRequest($val[$_k]);<br>
        }<br>
        } else<br>
        {<br>
        if( strlen($val)&gt;0 &amp;&amp; preg_match('#^(cfg_|GLOBALS)#',$val) )<br>
        {<br>
        exit('Request var not allow!');<br>
        }<br>
        }<br>
        } </div>
<br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>修改完了之后保存,再去后台试试添加新变量。</span>
頁: [1]
查看完整版本: 织梦DedeCMS添加变量报错Request var not allow!的解决办法