织梦dedecms系统后台添加新变量出现:Request var not allow!的解决方法
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
论坛上很多人都反馈说在后台添加新变量的时候会出现 “Request var not allow!” 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:
在DEDE根目录打开 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!’);
}
}
}
修改完了之后保存,再去后台试试添加新变量。
本文详细分析了DEDECMS后台无法登陆并跳转回登陆界面的解决方法。分享给大家供大家参考。具体方法如下:
一、问题:
网站已经运行了很久,前些天突然在登陆的时候提示密码不正确,而且不管怎么试,都是无法登陆.
二、解决方法:
于是在网上找来了重置密码的脚本,几经测试,终于重置了密码.之前出现过验证码出错的问题,关闭了验证码功能.于是在万分高兴开始登陆的时候发现,每次登陆都卡在这里,然后跳回登陆界面.
地址为:login.php?gotopage=/dede/index.php
在登陆界面输入账号密码后会有3-5秒的卡顿才会进入下面的页面,然后再卡顿3-5秒就跳回登陆界面.
对此,列出几点供大家参考:
1、修改DATA和sessions的目录属性为可写,即(777).
2、清空sessions内除index.html以外的所有文件.
3、清除IE缓存:更换浏览器,火狐,谷歌.
4、在include/config.base.php里修改参数.
5.最重要的一个原因,当你网站空间不够用或不足时,会有此种现象,便当虚拟主机后台检查下还有多少剩于空间可用吧!
希望本文所述对大家的dedecms网站建设有所帮助。
不知道用dedeCMS的问答系统的朋友们有木有遇到”问题管理”和”答案管理”出现404页面的情况,如果你的服务器是linux系统,估计都遇到过的。大家都知道linux系统对大小写是非常敏感的,不想win系统不区分。
好吧废话少说,解决问题重要。
问题的原因是ask\control\admin\answer.PHP和ask\control\admin\asktype.php这2个文件中有一行$this->lurd=new lurd,调用include/lurd.class.php文件。lurd 是小写,lurd.class.php是大写写,导致文件无法找到。
解决办法:先确认并修改ask\control\admin\answer.php和ask\control\admin\asktype.php这2个文件中的$this->lurd=new lurd均为大写就行了。
如果服务器上禁用了fsockopen函数,则无法使用保存远程图片到本地的功能,只需要替换一下函数就可以了。
找到/include/dedehttpdown.class.PHP 第507行
复制代码
$this->m_fp=@fsockopen($this->m_host, $this->m_port, $errno, $errstr,10);
替换为
复制代码
$this->m_fp=@stream_socket_client($this->m_host . ‘:’ . $this->m_port, $errno, $errstr,10);
由于DEDECMS对系统安全做的比较好,即使在后台开放了匿名投稿前台也无法匿名投稿,所以要匿名投稿需要修改一些代码。
打开member/soft_add.PHP找到
//考虑安全原因不管是否开启游客投稿功能,都不允许用户投稿
复制代码
CheckRank(0,0);
if($cfg_mb_lit==’Y’)
{
ShowMsg(“由于系统开启了精简版会员空间,你访问的功能不可用!”,”-1″);
exit();
}
注释掉以上代码即可实现匿名软件投稿
织梦dede后台采集数据库批量替换安全确认码不显示完美解决方法如下。
dede后台安全验证码不显示
给你快捷的方法,ftp中找到在后台目录文件夹中找到sys_data_replace.php文件,搜索以下代码(大概在45行左右),按下面注释掉即可
//if($validate==”” || $validate !=$svali)
//{
// ShowMsg(“安全确认码不正确!”, “javascript:;”);
// exit();
// }
这样即可完美解决,dede后台采集数据库内容批量替换,验证码就不用填写,直接可以开始替换数据。
大家在更新栏目或者文档的时候 经常碰到“dedecms模板文件不存在 无法解析文档”,出现这个问题,一般是你的模板没有选对导致的。
如何了解自己的模板情况呢:
1、可以通过模板的命名来大概区别,不同的设计师对模板的命名有差别,比如默认的织梦模板列表模板是list_article.htm 图集模板是list_image.htm ,对模板标签比较了解的,也可以打开模板查看下标签的写法就大概明白了。如果无法判断就尝试用方法2.
2、方法1还是无法找到正确的模板,可以通过一个一个模板的更换尝试,这样比较浪费点时间,不对才菜鸟来说,是最好的办法了。
模板的选择主要是列表模板、文章模板,如下图:
温馨提示:大家最好去了解下织梦模板的常规命名名称,也许对您有帮助,不同织梦模板制作者对命名略不同。
织梦系统我一直都是在用utf8版的,最近看重一个模板,就买了,可是上传到服务器发现系统基本设置下面不能保存中文,网上没找到很好的方法,自己看了一下,发现是网站编码的问题,我utf8的织梦在php5.4下就没问题,所以,要给表单中的字符转码。
后台-系统基本参数无法保存中文 修改方法:
dede\templets\sys_info.htm里面搜索
htmlspecialchars($row[‘value’])
替换成
htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′)
如果发现还有其他页面,也没办法保存中文,最好在dreamweaver下整站搜索htmlspecialchars($row[‘value’]),然后批量替换成htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′),这样就能保证系统的表单没问题。
但是这个修改的方法,对编辑器中的中文没办法,还要修改编辑器,方法为:
include/ckeditor/ckeditor_php5.php文件
找到代码
$out=“\n”;
改成:
$out=“\n”;
还有标签也不显示,修改方法为:
1、dede/article_add.php 和 dede/article_edit.php将
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312’);
这些都没问题后,发现 核心-批量维护-tag标签管理里面的中文标签全部都不显示了,真是麻烦,修改方法:
打开/dede/templets/tags_main.htm
找到:
$fields[‘tag’]=htmlspecialchars($fields[‘tag’]);
替换为
$fields[‘tag’]=htmlspecialchars($fields[‘tag’],ENT_COMPAT ,’GB2312′);
这样修改,tag标签就显示了。
这样一修改,在php5.4下的gbk版织梦就不会出现编码的问题了。
站长用织梦做站时常常发现织梦自由列表有个致命的问题:
即修改“不使用目录默认主页”就永远不会自己勾选啦
打开这个文件 makehtml_freelist_action.php
搜索下面代码,也在最后一行
$dsql->ExecuteNoneQuery(“Update `dede_freelist` set nodefault=’1′ where aid=’$startid’;”);
修改成
$dsql->ExecuteNoneQuery(“Update `dede_freelist` set nodefault=’0′ where aid=’$startid’;”);
下面这个教程是错误的
打开dede\templets \freelist_add.htm找到113行,把value=”1″改为value=”0″。
再打开dede\templets \freelist_edit.htm找到89行,把value=”1″改为value=”0″。
这样“不使用目录默认主页”就永远不会自己勾选啦。
今天发布图片集时,上传图片提示FILEID:X错误,缩略图显示为红色Error,前几天还正常的,可以确定是这几天修改了系统文件造成的,dede图集后台上传图片报错,提示红色FILEID错误的处理办法。
dedecms图集后台上传图片报错处理
仔细检查是UTF-8版本BOM格式造成的,检查dedecms系统文件include/common.inc.php和/data/common.inc.php的文件格式,用dreamweaver打开以上文件检查,ctrl+j打开编码查看,去掉上图中红框里“包括unicode签名bom”前面的勾,保存,替换原来文件,问题解决。
UTF-8编码的朋友,注意将格式调整为UTF-8 无 BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)
网上看到很多朋友遇到使用织梦程序一段时间后,发现上传图集时候老是失败,提示提示FILEID:X错误,缩略图显示为红色Error下面截图错误:
这问题今天也让我头疼了半天,好好的怎么就出现这问题了,我最近好像没修改过啥文件了,最后找资料整理出了解决办法,分享给遇到该问题的朋友:分两步:
第一步:查看一下你的include/common.inc.php 的文件格式UTF-8编码的朋友,注意将格式调整为UTF-8 无BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)
第二步:给大家提供一个缩略图修复文件,保存为a.php,放在网站根目录访问下就可以了。
代码(红色部分)如下:
//remove the utf-8 boms
//by magicbug at gmail dot com
if (isset($_GET[‘dir’])){ //config the basedir
$basedir=$_GET[‘dir’];
}else{
$basedir=’.’;
}
$auto=1;
checkdir($basedir);
function checkdir($basedir){
if ($dh=opendir($basedir)) {
while (($file=readdir($dh)) !==false) {
if ($file !=’.’ && $file !=’..’){
if (!is_dir($basedir.”/”.$file)) {
echo “filename: $basedir/$file “;
echo checkBOM(“$basedir/$file”).”
”;
}else{
$dirname=$basedir.”/”.$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM ($filename) {
global $auto;
$contents=file_get_contents($filename);
$charset[1]=substr($contents, 0, 1);
$charset[2]=substr($contents, 1, 1);
$charset[3]=substr($contents, 2, 1);
if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {
if ($auto==1) {
$rest=substr($contents, 3);
rewrite ($filename, $rest);
return (“BOM found, automatically removed.“);
} else {
return (“BOM found.“);
}
}
else return (“BOM Not Found.”);
}
function rewrite ($filename, $data) {
$filenum=fopen($filename, “w”);
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
将代码另存为.php,放在网站根目录下运行该文件就可以了。
运行完毕后刷新后台,上传图片,就成功了!
运行后记得更新下缓存:
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
前两天,在更新网站,发布文章上传图片的时候,遇到Upload filetype not allow !图片上传出错的情况!相信接触织梦程序的朋友几乎都会遇到这种情况吧!遇到dede织梦上传图片显示“Upload filetype not allow !”出错的情况改怎么办?要如何处理呢?
下面乐晨针对自己解决的方法向刚接触织梦dedecms的新手朋友讲解一下,解决方法如下
第一步:找到根目录“include”这个文件夹,点击进去
第二步:找到“include”这个文件下的“uploadsafe.inc.php”文件,点击打开
第三步:在打开“uploadsafe.inc.php”文件的大概第45行:找到$imtypes=array,并将其改为$imgtypes=array
最后一步:把更改好的uploadsafe.inc.php文件上传到“include”这个文件下就可以解决了!