快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用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文件使其
生效;第一种方式,虽然代码比较多,但不是所有文件都必须在虚拟目录中,这对于申请个人主页的用户,是比较可行的
一种方式。
返回类别: 教程
上一教程: 用循环做课程表输出表格
下一教程: 关于释放SESSION的两篇文章(一)

您可以阅读与"用ASP实现WEB页面分用户权限的访问"相关的教程:
· 用ASP实现对WEB搜索引擎INDEX SERVER的访问
· 用ASP让用户访问指定页面
· ASP在SQL SER2K中新建帐号和给帐号权限的实现
· 使用模板实现ASP代码与页面分离
· WEB页面实现淡入淡出菜单
    微笑服务 优质保证 索取样品