zblog后台提交文章报错Internal Server Error的解决方法

→ 西部数码官网正品独享云虚拟主机火热促销中!买2年送一年,买3年送2年,买5年送5年! ←

最近在使用zblog后台提交文章时,会经常遇到报错的情况,错误提示为:The server encountered an internal error or misconfiguration and was unable,经过网上查找资料和测试,发现问题原因为php.ini配置种少了register_globals = Off 项,那么解决方法如下:

打开你主机的php配置文件php.ini,找到register_globals项,

设置register_globalsregister_globals = Off  

说明:register_globals项的值为off 或On,表示是否开启GET数据调用

对于大多数的网站而言,是不需要开启register_globals,所以一般我们都需要设置register_globals = Off,

在一些主机或服务器自动生成的php.ini文件中,经常会找不到register_globals项,怎么办?很简单,直接将

register_globals = Off

加入你的php.ini文件,保存即可。

经过测试调试,发现网站已能正常保存文章了,也不再出现:The server encountered an internal error or misconfiguration and was unable的错误提示了。

延伸思考:zblog之前一直使用都稳定,怎么会突然出现这个提示呢?原因可能是zblog最新版或使用的zblog主题或插件中有相关代码需要这个配置,而开发者在编码时没有考虑到这一点,所以导致了这个问题。

register_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过来的参数比如:GET,POST,Cookie

register_globals可以设置为ON或Off,

简单来说当register_globals=Off的时候,

接收页面程序应该用$_GET['name']和$_GET['pass']或$_COOKIE['name']来接受传递过来的值。

视传值的方法来决定,用GET传值,用$_GET['name'] 来接收值,或用$HTTP_GET_VARS['name']

用POST提交数据的话用就用$_POST['name']来接收数据,或用$HTTP_POST_VARS['name']

当register_globals=On的时候,接收页面程序可以直接使用$user_name和$user_pass的这种类似访问变量的方式得到值。

推荐把此项关闭,设置为Off。

那我们为什么要使用Off呢?原因有2:

1、php以后的新版本默认都用Off,虽然你可以设置它为On,但是当你无法控制服务器的时候,你的代码的兼容性就成为一个大问题,所以,你最好从现在就开始用Off的风格开始编程。

2,此项要是打开,会存在很多安全隐患。

比如在验证用户时。如果你的代码写的不够严谨,会导致攻击都构造特殊值来饶过验证。

转载请说明出处
红帽SEO工作室 » zblog后台提交文章报错Internal Server Error的解决方法

发表评论

欢迎 访客 发表评论

嘿,欢迎咨询