欢迎来到Heck's Blog,专业承接拿站、企业建站、仿站、网上商城架构、门户网站搭建、空间域名注册、软件定制等项目。关注网络安全,因为专注,所以专业,懂得放弃,才能收获。有事请发邮件至i@heckjj.com,请记住本站网址:http://www.heckjj.com,多谢。
8月24
最近忙于一项PHP项目,忙的焦头烂额
。昨天晚上加班到12点将模板解析部分进行了修改优化,今天早上开始测试,结果发现通过SESSION验证的所有功能都不能使用了。于是打开Firefox,使用firebug中的cookie插件查看,结果发现,session ID统统不见了,COOKIE里面更是一干二净,心中大惊
。
仔细排查下来,代码并无不妥。开始以为$GLOBALS和session冲突,但是经过试验发现二者没有影响。后来发现一个奇怪的问题,凡是有HTML代码块的地方,SESSION都会丢失。于是注释掉语句逐一排查。最后注释到header("content-type:text/html; charset=utf-8");的时候,SESSION不再丢失。于是怀疑是header语句失败才使Set-Cookie失败。于是将此语句前加一@ 屏蔽一切错误,但不见效果。于是怀疑Header语句位置不对,将其改到session_start()后,问题消失。
开始以为是header语句出错导致的,后来发现,header语句在session_start()前就会引起错误,在修改代码时我移动了header的位置,但并未注意!终于找到病因了,分享下给有同样问题的朋友
。
。昨天晚上加班到12点将模板解析部分进行了修改优化,今天早上开始测试,结果发现通过SESSION验证的所有功能都不能使用了。于是打开Firefox,使用firebug中的cookie插件查看,结果发现,session ID统统不见了,COOKIE里面更是一干二净,心中大惊
。仔细排查下来,代码并无不妥。开始以为$GLOBALS和session冲突,但是经过试验发现二者没有影响。后来发现一个奇怪的问题,凡是有HTML代码块的地方,SESSION都会丢失。于是注释掉语句逐一排查。最后注释到header("content-type:text/html; charset=utf-8");的时候,SESSION不再丢失。于是怀疑是header语句失败才使Set-Cookie失败。于是将此语句前加一@ 屏蔽一切错误,但不见效果。于是怀疑Header语句位置不对,将其改到session_start()后,问题消失。
开始以为是header语句出错导致的,后来发现,header语句在session_start()前就会引起错误,在修改代码时我移动了header的位置,但并未注意!终于找到病因了,分享下给有同样问题的朋友
。




