接到客服反馈,客户网站后台无法登陆,之前遇到过这个问题,是黑客利用旧系统漏洞,篡改了网站文件,首先是登录ftp查看,没有任何篡改痕迹。
然后继续排查代码,没有逻辑错误,登陆判断是if else 如果用户名密码正确执行response.redirect跳转到后台管理界面,不正确则提示错误信息,输入不正确的用户名密码,正常提示登录错误,怀疑没有执行跳转,后来通过浏览器开发者工具查看网络请求,跳转正常,只不过又跳回登录页面了。
继续排查,登录信息是储存在cookie中的,如果检查cookie不存在,则跳回登录页面,哈哈,问题锁定!无法写入cookie,怎么解决呢?继续检查代码,cookie操作很简单,就几句代码,无奈求助搜索引擎,找了好多解决方案,统统无效。
这时,根据以往经验总结的一句话又蹦出来了,“困扰时间最长的肯定是最简单的bug”。
排查环境问题:
在相同服务器下,检查其他网站,是否存在这个问题;其他站点正常。
重启iis,重启服务器;未解决。
.net版本问题,修改集成到经典,2.0到4.0;问题照旧。
在即将崩溃之际,瞥到了服务器右下角的时间,8:52,而实际时间是16:52!此时,我的心情是平静的!!!
回去查看网站cookie设置,默认超时时间300分钟,5个小时,而服务器慢了8个小时!
平静地同步下Internet时间,登录,成功。