dedecms 本地调试好的网站直接上传宝塔后网站后台无法登入?
1、在你的域名后面追加:/templets/default/,可以看到你的首页模版已经被修改了。
2、说明主机被黑。
3、如果网站数据量不大,建议重新上传。
4、你的网站既然是独立主机,说明网站是用来运营,有资本的,那为何不将安全做好呢?dedecms不做修补与改造,是很危险的。
5、建议将dedecms的后台、include、data、templets统一隐藏,要是自己的独立主机,就将这些文件转移到根目录上级。
6、也有可能是服务器安全漏洞导致,但目测你的dedecms没有经过调整,网站漏洞几率较大。
您好,很高兴为您解答:
您使用的php版本为php54吧。
PHP 54已经启用了session_register()方法,造成了此函数不可用。
要么换php低版本,或者去掉或注释掉所有的session_register(),改用直接存$_SESSION数组。
原因可能是数据库没有导入,解决办法有2个:
一是可以在线安装一下,在安装的过程中导入数据库;
二是上传网站源码后,顺便把数据库导入;
以上两个方法个人都用过,是可以解决你这个问题的。
1、空间满了。我遇到的验证码错误都是空间满了,如果也遇到验证码错误的问题,可以先检查是否空间满了。
2、用ftp进入你的dedecms程序空间,把data/session目录下除indexhtm外的其它session文件都删除,然后本地ie浏览器清除缓存。重新登录dedecms后台试试看。
3、可以取消掉验证码,具体方法如下:
实现的方法一共分为两步来进行:
打开 loginphp 找到:
if($validate=='' || $validate != $svali)替换为:
if( false )
然后,在模板dede/templets/loginhtm里去掉以下验证码的具体HTML代码:
<li><span>验证码:</span><input name="validate" type="text" id="vdcode” style="width:50px;text-transform:uppercase;" />
<img id="vdimgck" src="/include/vdimgckphp" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onclick="thissrc=thissrc+''" />
</li>
网上有两种解决方法:
一种是说你曾用记事本编辑过dede的php文件
2是说你得修改
找include/userloginclassphp里面的keepuser()函数,
把@session_register 全部改写, 虽然不知道这个@是什么意思
把@session_register($this->keepUserIDTag); 注释掉,然后改为
if (!isset($_SESSION[$this->keepUserIDTag]))
全部有6个。
如下:
if (!isset($_SESSION[$this->keepUserIDTag]))
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
if (!isset($_SESSION[$this->keepUserTypeTag]))
//@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
if (!isset($_SESSION[$this->keepUserChannelTag]))
//@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
if (!isset($_SESSION[$this->keepUserNameTag]))
//@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
if (!isset($_SESSION[$this->keepUserPurviewTag]))
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
if (!isset($_SESSION[$this->keepAdminStyleTag]))
//@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
然后就可以登入后台了。
我用的第二种方法解决的
其实这个问题是因为function ParCv() 并没有封装在类 dedesqlclassphp里。
打开include/dedesqlclassphp找到if(isset($GLOBALS['arrs1'])){ $v1 = $v2 = ”; for($i=0;isset($arrs1[$i]);$i++) { $v1 = ParCv($arrs1[$i]); } for($i=0;isset($arrs2[$i]);$i++) { $v2 = ParCv($arrs2[$i]); } $GLOBALS[$v1] = $v2;}
替换为
if(isset($GLOBALS['arrs1'])){ $v1 = $v2 = ”; for($i=0;isset($arrs1[$i]);$i++) { $v1 = chr($arrs1[$i]); } for($i=0;isset($arrs2[$i]);$i++) { $v2 = chr($arrs2[$i]); } $GLOBALS[$v1] = $v2;}
替换后清除下浏览器缓存,在进入前台和后台就显示正常运行了。
转载自:无忧
0条评论