过期是指,登陆后台后什么都没有做就 蹦出提示 登陆超时什么重新登陆之类的提示
问题产生原因:
一般这种情况出现在虚拟主机上,因为虚拟主机要容纳更多的客户所以把有些东西限制了,譬如你的CPU占用多少 当你超过了就结束进程,另外一种是定时结束所有进程。
修改办法:
如果将原本存储在服务器上的东西转存到本地我想应该是可以解决的,我这边有个临时方案不知道哪位大侠愿意测试一下 呵呵。
代码修改:const.asp增加以下代码
'登陆验证是否改为Cookies,1为启用Cookie,0为不启用。
Const Logincookie = "1"
修改:CheckLogin.asp 77行至84行修改为以下代码
如果行数不对照那么大致找到以下语句在它下边进行覆盖
if cint(p_RsLoginObj("Admin_Is_Locked")) = 1 then
Response.Write("<script>alert(""错误:\n您已经被锁定,请与管理联系\n"");window.close();</script>")
Response.End
end if
这里是要修改的代码片段
If Cint(p_RsLoginObj("Admin_Is_Super")) <> 1 Then
Dim p_FSO,tmps_path,Temps_AdminPath
结束
If Logincookie = "1" Then
Response.Cookies("Admin_Name") = p_RsLoginObj("Admin_Name")
Response.Cookies("Admin_Pass_Word") = p_RsLoginObj("Admin_Pass_Word")
Response.Cookies("Admin_Parent_Admin") = p_RsLoginObj("Admin_Parent_Admin")
Response.Cookies("Admin_Is_Super") = p_RsLoginObj("Admin_Is_Super")
If isnull(p_RsLoginObj("Admin_Pop_List")) Or p_RsLoginObj("Admin_Pop_List") = "" Then
Response.Cookies("Admin_Pop_List") = ""
Else
Response.Cookies("Admin_Pop_List") = p_RsLoginObj("Admin_Pop_List")
End if
Response.Cookies("Admin_Add_Admin") = p_RsLoginObj("Admin_Add_Admin")
Response.Cookies("Admin_Style_Num") = p_RsLoginObj("Admin_Style_Num")
Response.Cookies("Admin_FilesTF") = p_RsLoginObj("Admin_FilesTF")
Else
Session("Admin_Name") = p_RsLoginObj("Admin_Name")
Session("Admin_Pass_Word") = p_RsLoginObj("Admin_Pass_Word")
Session("Admin_Parent_Admin") = p_RsLoginObj("Admin_Parent_Admin")
Session("Admin_Is_Super") = p_RsLoginObj("Admin_Is_Super")
Session("Admin_Pop_List") = p_RsLoginObj("Admin_Pop_List")
Session("Admin_Add_Admin") = p_RsLoginObj("Admin_Add_Admin")
Session("Admin_Style_Num") = p_RsLoginObj("Admin_Style_Num")
Session("Admin_FilesTF") = p_RsLoginObj("Admin_FilesTF")
End if
MF_Function.asp MF_Session_TF()函数开始部分加上以下代码
If Logincookie = "1" Then
Session("Admin_Name") = Request.Cookies("Admin_Name")
Session("Admin_Pass_Word") = Request.Cookies("Admin_Pass_Word")
Session("Admin_Parent_Admin") = Request.Cookies("Admin_Parent_Admin")
Session("Admin_Is_Super") = Request.Cookies("Admin_Is_Super")
Session("Admin_Pop_List") = Request.Cookies("Admin_Pop_List")
Session("Admin_Add_Admin") = Request.Cookies("Admin_Add_Admin")
Session("Admin_Style_Num") = Request.Cookies("Admin_Style_Num")
Session("Admin_FilesTF") = Request.Cookies("Admin_FilesTF")
End if
这种修改算是最笨的一种了 前边的生成Cookies我想大家还是容易理解的,至于后边为什么要多余到把Cookies重新写进session里,是因为程序有很多地方都用到了登陆时候所产生的session所以 我就多此一举从新把客户端的东西写到服务器端去,以后或许我会出一个补丁把所有的东西都放到客户端去做。