文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程ASPASP中简易用户访问控制-1
精品推荐
特别推荐
·如何解密加密的ASP源代码
·PHP+MySQL 购物车程序实例
·ASP网站漏洞及入侵防范方法
·ASP网络安全
·1小时ASP入门
·初学ASP动态网页制作常用错误处理
·ASP实现网页打开任何类型文件都保存
·ASP技巧:使用FSO自动创建多级文件夹的函数
·轻松建站 主流ASP内容管理系统
·ASP教程:透彻掌握ASP分页技术
·ASP脚本语言的19个基本技巧使用
·推荐文章:ASP脚本程序的15种使用技巧
·问题解答:ASP编程中关于session的用法
·必学技巧:防范ASP木马的十大基本原则
·实例技巧:ASP方便实现网站的每日更新
·精华文章:ASP中SQL语句参考及记录集对象
·无组件上传图片到数据库中,最完整解决方案
·入门:简单熟悉掌握ASP的语法和变量
·ASP网站开发常备:日期和时间函数示例
·ASP教程
热点TOP10
·用ASP编写网上调查投票系统
·ASP制作学生档案管理系统(毕业论文)
·WEB打印设置解决方案二(利用ScriptX.cab控件改变IE打印设置)
·ASP网站漏洞及入侵防范方法
·如何解密加密的ASP源代码
·无组件上传图片到数据库中,最完整解决方案
·多图片上传到指定的目录并存到数据库
·ASP不需要组件生成图片验证码的方法
·jsp留言板源代码二: 给jsp初学者.
·PHP+MySQL 购物车程序实例
·ASP分页代码,已经写成类了,值得参考
·1小时ASP入门
·asp编程中非常实用的例子
·用ASP设计论坛
·ASP动态网页实例:表单多文件上传类
·小偷程序原理
·GridView 分页导航
·TreeView使用笔记
·ASP教程:透彻掌握ASP分页技术
·总结:谈谈学习ASP动态网页制作技术的编程心得

ASP中简易用户访问控制-1

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]


  在站点的页面之间传递参数的通常方法是通过URL查询字符串,或者通过在表单中设置隐藏域的方法。另外的两种流行方法是使用cookie,或者使用ASP Session变量。在这篇文章里面,将讨论如何使用cookie和session变量来管理用户对站点页面的访问权限。

使用cookie来跟踪访问者
跟踪访问者访问页面的传统方法是使用cookies,cookie就是存储在用户一端计算机上的一个文本文件,当用户访问相应的域时,这些文件就被送到服务器上。做为基本应用,cookie被当作用户再次访问站点时验证和区分注册用户的手段,而不需要他们再次输入注册信息。同样,可以使用cookie保存用户上一次访问站点的一些设置。
在ASP中使用cookie非常简单,可以使用Request对象的Cookies集合取回所有保存在客户端的cookie数值,然后使用Response对象的Cookies集合创建或者修改cookie数值,并保存到客户端。
  象ASP中许多对象一样,一个cookie不仅可以是集合中的一员,还可以自成为集合。创建一个单一cookie非常简单,代码如下:
Response.Cookies ("item-name") = "item-value"
创建一个包含多个数值的cookie,代码是:
Response.Cookies ("item-name")("sub-item-name") = "sub-item-value"
设置cookie的域属性、路径属性以及使用到期时间,相关代码是:
Response.Cookies ("item-name").domain = "domain-url"
Response.Cookies ("item-name").path = "virtual-path"
Response.Cookies ("item-name").expires = #date#
下面的例子在浏览器端创建了cookie选择,注意:必须在浏览器输出任何信息前创建cookie,因为它们是HTTP headers的一部分:
〈 %
Response.Cookies("SimpleCookie") = "SimpleExample"
Response.Cookies("CompoundCookie")("Value1") = "Value1" Response.Cookies("CompoundCookie")("Value2") = "Value2"
Response.Cookies("TimedCookie") = "TimedExample"
Response.Cookies("TimedCookie").path = "/" apply to our entire site Response.Cookies("TimedCookie").expires = #10/10/2005#
% 〉
〈 HTML 〉
〈 BODY 〉
...
〈 /BODY 〉
〈 /HTML 〉
读取cookies
通过使用request对象并遍历cookie集合,就可以读取所有cookie的全部内容。如果有些cookie含有多个数值,就通过遍历那个cookie自身集合来输出。
〈 HTML 〉
〈 HEAD 〉〈 TITLE 〉Reading the Cookie Collection〈 /TITLE 〉〈 /HEAD 〉
〈 BODY 〉
〈 B 〉The contents of your Cookies are:〈 /B 〉〈 P 〉
〈 TABLE CELLPADDING=0 CELLSPACING=0 〉
〈 %
For Each Item in Request.Cookies
If Request.Cookies(Item).HasKeys Then
use another For...Each to iterate this collection
For Each ItemKey in Request.Cookies(Item)
Response.Write Item & "(" & ItemKey & ") = " _
& Request.Cookies(Item)(ItemKey) & "〈 BR 〉"
Next
Else
print the complete cookie string as normal
Response.Write Item & "=" & Request.Cookies(Item) & "〈 BR 〉"
End If
Next
% 〉〈 /TABLE 〉
〈 /BODY 〉
〈 /HTML 〉
下图显示了执行上面代码的结果。但是,当你现在关闭浏览器并重新打开时,再运行这些代码,除了TimeCookie以为的所有数值都消失了。这是因为只有TimeCookie设置了“使用到期时间”,其他的当浏览器关闭时就自动消失了。

这里要讨论使用cookie保存登录信息的问题,并且看看在ASP页面间如何利用cookie数值。但是请记住:cookie仅仅被送往前次访问时所在路径相同的站点,也就是说cookie在初始设置时的环境中才能生效。如果没有设置cookie的path属性,它的数值默认就是当初创建时所在的虚拟路径。
这里有个例子描述保存登录信息到cookie中。由于没有设置“使用到期时间”,所以当前用户会话结束后cookie也就不存在了。
...
Response.Cookies("User")("v1") = "〈 % = Request("v1") % 〉" username Response.Cookies("User")("v2") = "〈 % = Request("v2") % 〉" password Response.Cookies("User").path = "/adminstuff" apply to admin pages
...
现在就可以在用户请求的每一个页面中寻找这个cookie了,如果没有找到,就重定向用户到登录页面:
...
If (Request.Cookies("User")("v1") 〈 〉 "alexhomer") _
Or (Request.Cookies("User")("v2") 〈 〉 "secret") Then
Response.Redirect "default.asp?nogood=yes&v1=" & Request.Cookies("User")("v1")
End If
...
使用ASP Session变量跟踪访问者
除了使用cookie,我们还可以充分利用ASP中的Session变量。我们可以在用户Session变量中保存数值,只要session变量还是激活的,这些保存的数值就可以被利用。通常,这些session变量将在用户最后一次请求页面后保持20分钟的时间,除非我们使用Session.Abandon方法明确地释放这些session变量。同时,可以使用ASP脚本中的Session.Timeout属性来设置这个过期时间。
使用session变量跟踪访问者要比使用cookie更安全,因为用户的session变量的内容不会随着页面请求而在网络上传递。除了初始登录以外,用户名与口令(或者任何数值)一直保存在服务器上。我们可以区别和认证访问者,将他们的登录信息保存在他们自己的Session对象中。当需要对访问者进行验证时,就从他们自己的Session对象中取会这些信息。举个例子,在用户登录后提交的页面中,加入如下代码:
...
Session("UserName") = Request("v1") username from logon dialog form
Session("Password") = Request("v2") password from logon dialog form
...
然后,当需要认证访问者时,就找到这些cookie并从中取回用户名和口令:
...
If (Session("UserName") 〈 〉 "alexhomer") _
Or (Session("Password") 〈 〉 "secret") Then
Response.Redirect "default.asp?nogood=yes&v1=" & Session("UserName")
End If
...

(出处:清风网络学院






上一篇:用弹出确认框来确认删除内容

下一篇:ASP中简易用户访问控制-2

ASP中简易用户访问控制-1 相关文章:
·“黑客”教你如何远程控制计算机
·简易分辨处女
·XP用户:教你实用50招
·神不知鬼不觉地更换Win XP用户密码
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·Java图形用户界面设计
·Windows无法访问指定设备,路径或文件.您可能没有合适的权限访问这个项目
·Dreamweaver MX 2004做ASP程序(4)用户注册系统
·控制射精训练
·免费申请QQ(腾迅专门为国外用户提供)
ASP中简易用户访问控制-1 相关软件:
·简易性知识手册
·风险管理与内部控制(普华永道)
·飘易多用户日记本(蓝色幻想) v1.5
·地面控制 2中文版
·System Spec(控制系统软件)V2.40 绿色版
·虎鹰网络美化多用户留言本
·闪客留言簿(单用户版)
·阿江酷站访问统计系统 v1.0
·Lhgb 多用户留言版系统
·互动调查多用户投票

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot