|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。2、初始化和用户输出正当性反省
当一个ASP使用启动的时分,IIS就会寻觅一个global.asa文件。假如该文件存
在,就入手下手实行Application_onStart。在这里能够初始化使用级的变量和常量。下
面的代码在Application_OnStart中初始化一个数组来跟踪恣意时候登录体系的一切
用户:
SubApplication_OnStart
Application("Users")=Array()
EndSub
在实行Application_OnStart以后,ASP引擎创立一个Session工具并初始化
SessionID,然后触发Session_OnStart事务。在这里能够初始化会话级(和特定用
户相干的)变量和常量:
subSession_OnStart
Session.Timeout=1
数据库DSN
Session("ConnectionString")="ASPSecurity"
Session("ConnectionTimeout")=15
读/写体例
Session("Mode")=3
endsub
思索到用户的扫瞄器大概不撑持Cookies或封闭了Cookies功效,因而必需在第
一个ASP页面中反省Cookies的撑持情形并把了局保留在一个Session变量中。别的,
当用户在登录页面中单击“登录”按钮,还应当反省用户输出的正当性,以下面的代
码所示,个中ASPSecurity.inc供应一些公用函数(如signUserOn用于考证用户身
份):
<%@Language=VBScript%>
<%optionexplicit%>
<%Response.buffer=true%>
<!--#INCLUDEFILE="ASPSecurity.inc"-->
<%
dimaSignon
dimaPassword
dimdataValidated
dataValidated=false
反省扫瞄器是不是撑持Cookies
Session("SupportsCookies")=(instr(1,Request.ServerVariables
("HTTP_COOKIE"),"ASPSESSIONID",vbTextCompare)>0)
ifRequest("Action")="登录"then
aSignon=lcase(trim(Request.Form("Signon")))
aPassword=lcase(trim(Request.Form("Password")))
iflen(aSignon)=0then
Session("msg")="请输出用户名字."
endif
iflen(aPassword)=0then
Session("msg")="请输出暗码."
else
dataValidated=true
endif
ifdataValidatedthen
ifsignUserOn(aSignon,aPassword)then
用户身份被证明,同意进进受回护页面
Response.Redirect"signedOn.asp?ID="&Session("ID")
endif
endif
elseifRequest("Action")="注册"then
Response.Redirect"register.asp"
endif
%>
关于注册页面,除要反省用户是不是完全地输出一切内容以外,还应当反省两次
输出暗码是不是不异、用户名字是不是与数据库中已有纪录抵触等。完成代码请拜见本文
所附的ZIP文件。
因为用户每次启动扫瞄器毗连到服务器时SessionID都是分歧的,以是不克不及间接
用它来联系关系用户与存储在数据库中的相干信息,但SessionID能够用光降时地标识从
数据库或文件提取的用户信息。关于那些不撑持Cookies的扫瞄器,能够用别的的方
法来创立独一ID,以下面的getID利用的是随机函数:
functiongetID()dimnumbers
dimletters
dimI
dimID
Randomize
numbers="0123456789"
letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
forI=1to10
ifImod20then
ID=ID&mid(letters,Int((26*Rnd)+1),1)
else
ID=ID&mid(numbers,Int((10*Rnd)+1),1)
endif
next
getID=ID
endfunction
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|