简述:
一个ASP网站。服务器上的代码没有改过,突然所有的用户都登录不上去,现像是点了登录按钮,页面刷新,但是没有任何变化。初步判断是服务器上的配置问题,最后在将进抓狂的时候,发现是服务器硬件变动,使得时间闪回到2001年,导致网站的cookies一直处于失效状态。把时间改到公元2011年11月22日,问题解决。
下面废话来了。。。
上个负责公司网站的人离职了,这个奇烂无比的摊子到了我手上。为什么说烂呢,N年前不知道另一家什么破公司做的ASP的网站,放在一个装配奔三CPU,512内存(有256是上周未才加的)的上古级DELL服务器上。ASP已经是过时的东西,这也就算了,开发这个网站的人那是用手写的代码啊,看到就内分泌失调。
前面都牢骚 ,但是不发不快。昨天市场部的大龄美女跟我说,网站所有的用户都登录上不去了,点了登录没反应。而且好像很急的样子。然后我就把手头被催了一个多星期的活先放下,全力调查这个问题。
问题:点登录按钮,页面刷新了,但是原样不动,正常应该是显示登录成功的用户名。
重现:然后把服务器上的代码拷到本地,配好IIS。一切正常。再把本地老版本的正常代码放到服务器上,问题依旧。
分析:最近我没有改过代码,突然变成这样,应该是服务器配置的问题。
(1)检查IIS配置,没有区别。
(2)删除原来的站点,再配置新的,问题依旧。
(3)那个大MM从昨天开始,已经过来催了我将进10次,还动用了她们组长,部门领导。急得跟啥似的。本来就不爽,还被这么催,心情可想而知。
(4)没办法了,只能做我极度不想做的事情,看代码。伴随着对原来开发人员祖宗18代大大小小的问候,终于找到了是由于取不到cookies而没有走登录成功后的代码。但是同一个浏览器,访问我本地的可以,访问服务上的不行,肯定不是浏览的cookies设置问题。在网上搜了一下关于cookies失效的问题,有一个是关于cookies过期的原因,代码里有根据当前时间来使cookies失效的设置。突然想到,之前看到服务器的时间不对,而且服务器上周加了内存,会不会动了BIOS,时间重置了。上去看一下,时间变成了2001年,改成本世纪时间,问题解决。
看来自己平时对知识还是缺少钻研,对cookies了解不够深入,开始没有想到cookies失效这个问题上来。导致这么一个简单的问题,从昨天中午到今天中午才解决。