注册 登录
编程论坛 ASP技术论坛

Session问题,帮个忙啊!~

jaybbs 发布于 2008-05-09 19:44, 843 次点击
只是一个简单的登陆系统,限制别人浏览我的网页。
基本上实现受限的页面需要登陆才可以访问。

但是测试的时候发现,只要登陆一次就永远登陆了。即使清除了本机cookie,过很长时间也可以访问。我是不是没有设置Session的时效???请问如何设置呢?
[bo]
我的代码是:[/bo]

[bo]受限页:[/bo]<%
if session("userid")="" then
response.write("<script language=javascript>alert('对不起,你没有查看该页的权限或已超时,请重新登录!');location.href='login.asp'</script>")
End if
%>

[bo]conn.asp[/bo]<%
dim conn
set conn=Server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("#zydz.mdb")
If err.number<>0 then
Response.write("连接数据库时产生错误!")
Response.End
End if
%>

[bo]Login.asp:[/bo]
<form method="post" action="check.asp">
用户名:<input type="text" name="userid" size="20">
密   码: <input type="text" name="pwd" size="20">
<input type="submit" name="submit1" value="登录">
<input type="reset" name="button1" value="清除">
</form>

[bo]check.asp:[/bo]
<!--#include file="conn.asp"-->
<%
Dim Rs,Sql,Userid,Pwd
Userid=Request.form("Userid") '提取login.asp页面的用户名;
Pwd=Request.form("pwd") '提取login.asp页面的密码;
Set Rs=Server.Createobject("adodb.recordset")
Sql="select * from login where userid='"&Userid&"' "
Rs.open sql,conn,1,1
If rs.eof and rs.eof then   '判断用户名是否存在
Response.write "<script language=javascript>alert('用户不存在');history.go(-1);</script>"
Response.End
Elseif Rs("pwd")<>pwd then '判断密码是否正确
Response.write "<script language=javascript>alert('密码错误');history.go(-1);</script>"
Response.End
Else
Session("userid")=userid '把用户名写入session
Response.redirect("index.asp")
End if
%>
6 回复
#2
hxfly2008-05-09 19:53
输出SESSION看看,每次打开的时候在新窗口打开试试。然后就是清除缓存看看
#3
jaybbs2008-05-09 19:55
试过了,没有任何反映。登陆过后就可以一直看。
清除cookie等都无效
#4
jaybbs2008-05-09 20:39
帮帮忙啊,55555555555555
#5
senrw2008-05-10 00:33
把你那个受限页面引用到 login.asp这个页就可以了
<!--#include file="受限页面.asp"-->
还有response.write("<script language=javascript>alert('对不起,你没有查看该页的权限或已超时,请重新登录!');location.href='login.asp'</script>")
这句话,'login.asp'这后面要加一个分号";"
正确的写法:response.write("<script language=javascript>alert('对不起,你没有查看该页的权限或已超时,请重新登录!');location.href='login.asp';</script>")这也可能是你的输入错误吧,这也能免,我也经常犯这种错误!

-----------http://www.
#6
jaybbs2008-05-10 09:28
按照楼上的方法试了,还是不行啊。
我的问题是:
只要登陆一次就永远登陆了。即使清除了本机cookie,过很长时间也可以访问。
#7
letian5842008-05-10 12:37
设置Session对象的有效时间属性试下 默认的为20分钟
1