DEDECMS升级错误php.ini register_globals must is Off解决

今天把织梦DEDECMS V5.5更新升级之后,发现出现了php.ini register_globals must is Off! 的错误提示。后台已经完全无法访问,而前台会员登录那里也显示这样的内容。这次更新包含了几个普通更新和一些安全更新。根据我的DEDE系统版本,我是用V5.5直接安装后使用且没有任何改动的,需要安装的是从2009年9月到2010年4月的更新。上网查了一下,出现问题的人很多。解决的办法各种各样,有些人解决了,有些人没有解决。转载如下:

如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off 同时把session.auto_start=1改成session.auto_start=0,然后重启Apache.如果是虚拟主机的用户,尽可能的通知空间商让其对配置进行修改,或者可以尝试ini_set(‘session.auto_start’,0)来. 如果实在不行,那只有采用最后的办法直接去include/common.inc.php中将 —- //禁止 session.auto_start if ( ini_get(‘session.auto_start’) != 0 ) { exit(‘php.ini session.auto_start must is 0 ! ‘); } —- 删除即可

因为我用的是外国的虚拟主机,沟通不方便,而且本着自力更生的原则。我采用了最低风险的办法。找到DEDE的include目录,里面有个common.inc.php文件。通过对比,发现更新后的文件多了一些安全方面的设置。多了如下代码:

第10行: //开启register_globals会有诸多不安全可能性,因此强制要求关闭register_globals if ( ini_get(‘register_globals’) ) { exit(‘php.ini register_globals must is Off! ‘); } //禁止 session.auto_start if ( ini_get(‘session.auto_start’) != 0 ) { exit(‘php.ini session.auto_start must is 0 ! ‘); }

第72行 if ( ini_get(‘register_globals’) ) { exit(‘php.ini register_globals must is Off! ‘); }

不怎么懂PHP,但这些代码的意思其实就是安全校检方面的控制,因为不大可能联系空间服务商修改php.ini文件,所以,直接用原来的common.inc.php文件替换更新后的文件。刷新网站,一切正常!

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据