海妖 发表于 2015-1-16 22:27:26

ASP网页设计在ASP使用中考证用户身份(2)

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秒以内).无论是他们输入资料时,查找资料时,分析资料时.

变相怪杰 发表于 2015-1-19 13:09:39

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

飘灵儿 发表于 2015-1-25 11:29:32

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

金色的骷髅 发表于 2015-2-2 21:58:54

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

再现理想 发表于 2015-2-8 08:28:57

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

飘飘悠悠 发表于 2015-2-25 04:35:37

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

小女巫 发表于 2015-3-7 16:57:47

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

老尸 发表于 2015-3-15 09:54:14

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

柔情似水 发表于 2015-3-22 00:09:26

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
页: [1]
查看完整版本: ASP网页设计在ASP使用中考证用户身份(2)