帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
用ASP实现WEB页面分用户权限的访问
作者: 发布时间:2005-03-12 来源:
ASP实现WEB页面分用户权限的访问

作 者 : 甘冀平

 

问题的引出

前几日上网,看到有网友在电脑报论坛的ASP版提出如下的问题:“我试着用ASP的方法为网页设置了口令,但
是用户只要知道下一步链接的文件名, 就可以在地址栏输入该文件名而绕过口令文件直接浏览该文件。 怎样才能达到真
正加密的目的:如果不输入口令、用户名就无法浏览网页?”

上面的问题,是在基于Internet/Intranet的网络中开发WEB应用时,经常要涉及的一个方面。对于用ASP开发的
应用,根据个人经验,解决上面的问题,一般有2种方法,分别详细介绍如下:

例程说明

为说明方便起见,以下各方法假设针对如下的例子:

服务器IP地址为192.188.188.188;在服务器上开设一个虚拟目录:/mytest,所有测试文件均位于此路径下;
主文件为myindex.asp,用户首要登录文件为mylogin.asp;测试的合法用户名为mytest,口令也为mytest。

解决方法1

- 编写mylogin.asp内容



< %@ Language=VBScipt % >
< @Response.Buffer=true% >
< html >< head >< title >用户登录< /title >< /head >
< body >
< %
if request("username")="mytest" and request("password")="mytest" then
response.redirect "myindex.asp"
end if
% >
< font style="font-size:11pt" >请输入登录用户名称与口令"< /font >< br >
< form action="mylogin.asp" method="post" >
< br >用户名称:< input type=text name="username" >
< br >用户口令:< input type=password name="password" >
< br >< input type=submit value="登录" >
< /form >
< /body >< /html >


- 编写一个ASP包含文件,名字为myrefer.asp



< %@ Language=VBScipt % >
< @Response.Buffer=true% >
< %
myvaild=instr(lcase(request("HTTP_REFERER")),"http://192.188.188.188/mytest")
if myvaild=0 then
response.redirect "mylogin.asp"
end if
% >


- 修改目录下的其他ASP文件头

修改目录下的其余ASP,在每个ASP文件的头部,都添加如下的代码:

< %@ Language=VBScipt % >
< !-- #include file="myrefer.asp" -- >
'以下为原文件内容
......

解决方法2

- 编写global.asa文件

编写global.asa文件,放置在虚拟目录http://192.188.188.188/mytest/下,为了达到用户登录检查的目的,
只修改其中Session_OnStart的部分。

......

< Script RUNAT=Server Language=VBScript >

Sub Session_OnStart

mystartpage="/mytest/mylogin.asp"
mycurrent=lcase(request("SCRIPT_NAME"))
if strcomp(mycurrent,mystartpage) then
response.redirect mystartpage
end if

End Sub

< /Script >
......

总结

从以上2种实现方法可以看出,第2种比较简单,但需要有单独的虚拟目录,这样才能编写global.asa文件使其
生效;第一种方法,虽然代码比较多,但不是所有文件都必须在虚拟目录中,这对于申请个人主页的用户,是比较可行的
一种方法。
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·用ASP实现免费计数器提供-1  (2005-03-12)
 ·用ASP实现免费计数器提供-2  (2005-03-12)
 ·用ASP实现免费计数器提供-3  (2005-03-12)
 ·用ASP做一个记事本编缉器  (2005-03-12)
 ·用ASP发送HTML格式的邮件  (2005-03-12)
 ·如何用ASP创建日志文件  (2005-03-12)
 ·使用asp+中的若干问题及解决方案  (2005-03-12)
 ·使用ASP重启服务器  (2005-03-12)
 ·如何用ASP建立图表  (2005-03-12)
 ·如何使用asp创建dsn  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统