45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网页设计 >

用ASP实现WEB页面分用户权限的访问

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:13 作者:45IT收集

问题的引出

  我们经常遇到如下的问题:用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文件使其生效;第一种方法,虽然代码比较多,但不是所有文件都必须在虚拟目录中,这对于申请个人主页的用户,是比较可行的一种方法。
http://nic-002.nicchina.com/
QQ:20316801

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识