|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。session|变量|session 在法式调试中,有时分需求晓得有几何Session变量在利用,她们的值若何?因为Session对象供应一个称为Contents的纠合(Collection),咱们可以经由过程For...Each轮回来到达方针:
Dim strName, iLoop
For Each strName in Session.Contents
Response.Write strName & " - " & Session.Contents(strName)& "<BR>"
Next
普通情形下,下面的代码可以任务得很好。但当Session变量是一个对象或数组时,打印的了局就不准确了。
如许咱们修正代码以下:
'起首看看有几何Session变量在利用?
Response.Write "There are " & Session.Contents.Count & _
" Session variables<P>"
Dim strName, iLoop
'利用For Each轮回观察Session.Contents
'假如Session变量是一个数组?
If IsArray(Session(strName)) then
'轮回打印数组的每个元素
For iLoop = LBound(Session(strName)) to UBound(Session(strName))
Response.Write strName & "(" & iLoop & ") - " & _
Session(strName)(iLoop) & "<BR>"
Next
Else
'其他情形,就复杂打印变量的值
Response.Write strName & " - " & Session.Contents(strName) & "<BR>"
End If
Next
Session变量有时分不克不及任务,为何?
有良多能够性:
第一,假如客户端不答应cookie操作,session将生效。由于session是依附于cookie的。
第二,session有生效工夫的设定。缺省的设置是20分钟。你可以如许修正它:Web directory -> Properties -> Virtual directory -> Application settings -> Configuration -> App Options -> Session timeout
或在ASP中,写上如许的代码:Session.timeout=60 。
第三,session是和详细的Web Application相干的。假如用户从/products/default.asp阅读到/jobs/default.asp,也能够形成session的从头创立。
怎样排除一个不再需求的session变量但不使session生效?
在ASP3.0中:
Session.Contents.Remove "变量名"
可以排除一个变量。
在ASP2.0中:
set session("变量名")=NULL
可以排除变量。
在ASP3.0中,
Session.Contents.RemoveAll
可以排除一切的session变量和session.abandon分歧,下面的办法都不会使今朝的session过时或有效。
ASP页面顶真个<%@ ENABLESESSIONSTATE=True %>是甚么意思?
IIS利用一种叫做Session跟踪的手艺,来包管各个Session变量在每一个页面是可用的。当用户会见某个ASP页面时分,IIS会起首为这个页面筹办好各个Session变量,这固然会带来功能上的影响。(利用Session变量的价值老是很高的!)
假如你有100个页面,而只要5个页面用到了Session,那末,为了全体的功能,你只需求在那5个页面设置:
<%@ ENABLESESSIONSTATE=True %>
而其他页面设置为:
<%@ ENABLESESSIONSTATE=False %></p> 我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 |
|