导航

心动吧黑客BLOG

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« ASP 函数大全(第八节)sql注入 盲注 union select注入 »

ASP Session对象(第九节)

作者:心动吧明生KISS

玩到session的时候看了一下一句话的写法。觉得session还是非常的简单的。请自己看例子吧。下面有详细的介绍

session  有一个集合   二个属性(timeut和sessionid)  一个方法(abandon)

示例图

    

 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
xx=request.form("radiobutton")

xxx=request.querystring("out")
if xxx="清空" then
session.abandon '清空session
end if


if xx="setsession" then
session("心动吧用户名")=request.form("user") '设置session的值
session("心动吧密码")=request.form("pass") '同上
session.Timeout=10 '设置session的时间只有10分钟寿命
end if



if request.form("user")="" then
%>
<form method="post" name="form1" action="">
<p>
用户名: <input name="user" type="text" />
密 码: <input name="pass" type="text" />
<input name="提交" type="submit"/>
</p>
<p>
<label>
<input type="radio" name="radiobutton" value="setsession" />
session创建</label>
</p>
</form>
<%
else
response.write "你已经登录,你的帐号: " & session("心动吧用户名") & " 密码: " & session("心动吧密码")
response.write "<br>你的sessionID: " & session.sessionid
response.write "<br><a href=?out=清空>清空session</a>"
end if%>
</body>
</html>

 

sessioncookies集合的相同点与不同点。

相似处——功能
不同处——存储位置
session与cookies都可以用来保存用户的数据,或者是跟踪用户,也就是存储或跟踪用户数据。
session存储在服务端
cookies存储在客户端的机器里

sessioncookies的关系与特点:
有很多的商业网站,它们的购物功能都是通过session功能实现的。因为session数据存储在服务端后,相对于将数据存储在客房端的cookies来说,是比较安全的,在asp的默认设置里,session每次访问网页就自动建立的,而cookies是通过代码来建立的。
可以用session来实现与cookies基本一样的功能。(注:如果客户端禁用了cookies,session也不能使用。)
功能相似,却不可以用cookies来实现购物车的功能,是因辚session要比cookies安全,session存储在服务端,而cookies存储在客户端,要想改变客户端的信息很容易,但想改变服务端的信息是很难的,因此session是安全的。
cookies有一个使用范围,cookies默认在整个站点的所有页面都可以访问的,session也是这样的。
当一个session变量被建立后,如果没有超时或是人为删除的话,可以在站点内的其它页面里使用它。如我们在一个购物网站里购买商品,在不同的页面进行选择,最后都有能存放在购物车里,这样的功能就是使用了session这个特性。
 
 
在asp里使用session变量很简单,只要创建一个session变量就可以了。
创建session
session(”esession名”)=值
例: <%session(“bookname”)多媒体教程%>=”fif asp
创建一个名为booknamesession变量   给它赋值
获取session的值
变量=session(”esession名”)
例: <%book=session(“bookname”) %>

还可以把一个数组放在session变量里:
1.asp
2.asp
<%
dim content(4)
session(“title”)=”静夜思”
content(1)=”床前明月光”
content(2)=”疑是地上霜”
content(3)=”举头望明月”
content(4)=”低头思故乡”
session(“content”)=content
%>保存
<%
response.write (session (“title”)&”<br>”)
content=wession(“content”)
for i=1 to 4
response.write (content(i)&”<br>”)
next
%>
保存
用浏览器访问在1.asp中建立了2个session变量,一个存储的是标题,一个是用数组来存储诗的内容.
用浏览器访问2.asp这个文件输出1.asp中的session变量.用法基本和cookies是一样的.

 
我们还可以通过CONTENT集合获得SESSION中存储的信息.

1、  变量=session。contents(“session名”)
如:t=session。contents(“title”)
2、  变量=session(“session名”)
    t=session(“title”)

以上这两种方法产生的效果是一样的,都是获取session变量的值,两条语句的作用完全一样的。
 
session常用的两个属性:
1、 sessionID
sessionID是每个session的代码,它是由服务器产生的
使用方法:
长整数变量=session.sessionID
 
2、 timeout
 timeout属性主国是用来设置session失效时间,它和cookies的expires属性类似。timeout是以分钟为单位的。
用法:session.timeout=分钟数
例如:让一个session在30分钟失效。
session.timeout=30
 
 
失效时间?
指对web服务器的一次访问到另一次访问的间隔时间,如果两面三刀次访问超出了这个时间,当前的session会失效,session中存储的信息也被删除了.
,建议不要设置很长的失效时间,设置一个全适的失效时间使程序更加安全,而且可以减少消耗服务器资源,
session是存储在服务端的,可能会消耗很多服务器端的资源,timeout默认的值是20分钟.
 
aband方法:
如果在session还没有过期的时候就想删除它就可以使用:
session.abandon方法
使用方法:
一旦这条语句被执行,所有存储在sesion对象中的信息,将被子删除。这与session超时效果是一样的。

 

原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]

本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/asp/session.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

黑客榜之热文排行

黑客榜之本年排行

黑客榜之本月排行

黑客榜之随机文章

网站分类

搜索内容

最新评论及回复

最近发表

所属分类下的文章

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved