用ASP让用户访问指定页面

忆_惜日爱情

忆_惜日爱情

2016-01-29 17:30

用ASP让用户访问指定页面,用ASP让用户访问指定页面
  一个网站有许多页面,如果用户知道某个页面的链接,可以在浏览器中直接输入url访问它。但这在一个要求有安全性的站点上是不允许的。我们要求用户必须登录以后才能访问各级页面,有时也确实希望用户总是先看到站点的主页。这两种要求可以通过在asp的global.asa中对session对象编程来实现。

1.用户必须从主页开始浏览

如果仅希望用户每次上站都先访问站点主页,可以在session的session_onstart事件中加入response.redirect “url"来实现。例如在global.asa中有如下代码:

sub session—onstart

response.redirect ″netdoctor.yeah.net″

end sub

由于用户在访问站点时,一连接就会激发session的onstart事件,所以不管用户在浏览器中输入的是本站点上的何url,都会由于onstart事件中重定向命令的作用而转向指定页面。

2.必须是经过验证的用户才能浏览

对于有安全性要求的站点,如果是intranet用户,可以把验证与nt的用户验证结合起来,只要给指定目录设定ntfs用户权限,用户访问时就会自动弹出验证窗口。这种验证不需要使用asp编程实现。

实际情况是,我们不会把大量的internet用户加入域用户中,一般是用一个数据库来管理用户名和口令,由asp程序把从web页面上取得的用户名和口令到库中进行查找验证。如果一个用户知道站点的目录结构,有可能直接输入某个页面的url,从而避过登录验证界面。这样,登录安全形同虚设。

如前所述,用户与站点一连接,就会引发一个session—onstart事件,所以我们可以在这里强制它转向登录页面。global.asa中的代码如下:

sub session—onstart

response.redirect ″login.asp″

end sub  


3.辨析说明

朋友们可以注意到,以上两段代码实际上是一样的。但是,对于2中的情况,虽然一访问就转向了登录页面,可是此时session的onstart事件已经结束,如果再输入指定的url,就可以避过安全检测了。

我现在的解决方法是在每个asp页面前加上下面一段代码,来实现上面的功能:

〈%

if session(″userid″)=″″ then

response.redirect ″login.asp″

 end if

%〉  


其中,session变量是在用户通过登录后建立的一个在整个过程中都生效的变量,如在login.asp中,使用以下代码:

if checkpwdok() then

session(″userid″)=request(″userid″)

end if  


不过这种办法对站点的每个页面都要如此处理。对asp页面这么办还可以,对html页面文件就无能为力了。所以,本文在此抛砖引玉,希望能有朋友提出更好的办法。

 
展开更多 50%)
分享

猜你喜欢

用ASP让用户访问指定页面

ASP
用ASP让用户访问指定页面

ASP中页面限权访问的几种方法

ASP
ASP中页面限权访问的几种方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎么用金山毒霸禁止访问指定网站

电脑网络
怎么用金山毒霸禁止访问指定网站

用asp怎样编写文档搜索页面(4)

ASP
用asp怎样编写文档搜索页面(4)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用asp怎样编写文档搜索页面(5)

ASP
用asp怎样编写文档搜索页面(5)

用asp怎样编写文档搜索页面(3)

ASP
用asp怎样编写文档搜索页面(3)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

利用ASP存取各种常用类型数据库(2)

利用ASP存取各种常用类型数据库(2)

巧用Win2000/XP“管理工具”优化操作系统

巧用Win2000/XP“管理工具”优化操作系统
下拉加载更多内容 ↓