当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > ASP教程 > 正文 |
|
|||
用ASP让用户访问指定页面 | |||
2005-12-30 19:26:02 文/45IT收集 出处:电脑软硬件应用网 | |||
一个网站有许多页面,如果用户知道某个页面的链接,可以在浏览器中直接输入url访问它。但这在一个要求有安全性的站点上是不允许的。我们要求用户必须登录以后才能访问各级页面,有时也确实希望用户总是先看到站点的主页。这两种要求可以通过在asp的global.asa中对session对象编程来实现。 1.用户必须从主页开始浏览 如果仅希望用户每次上站都先访问站点主页,可以在session的session_onstart事件中加入response.redirect “url"来实现。例如在global.asa中有如下代码: sub session—onstart response.redirect ″netdoctor.yeah.net″ end sub 2.必须是经过验证的用户才能浏览 对于有安全性要求的站点,如果是intranet用户,可以把验证与nt的用户验证结合起来,只要给指定目录设定ntfs用户权限,用户访问时就会自动弹出验证窗口。这种验证不需要使用asp编程实现。 实际情况是,我们不会把大量的internet用户加入域用户中,一般是用一个数据库来管理用户名和口令,由asp程序把从web页面上取得的用户名和口令到库中进行查找验证。如果一个用户知道站点的目录结构,有可能直接输入某个页面的url,从而避过登录验证界面。这样,登录安全形同虚设。 如前所述,用户与站点一连接,就会引发一个session—onstart事件,所以我们可以在这里强制它转向登录页面。global.asa中的代码如下: sub session—onstart response.redirect ″login.asp″ end sub 朋友们可以注意到,以上两段代码实际上是一样的。但是,对于2中的情况,虽然一访问就转向了登录页面,可是此时session的onstart事件已经结束,如果再输入指定的url,就可以避过安全检测了。 我现在的解决方法是在每个asp页面前加上下面一段代码,来实现上面的功能: 〈% if session(″userid″)=″″ then response.redirect ″login.asp″ end if %〉 if checkpwdok() then session(″userid″)=request(″userid″) end if |
|||
关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 | |
Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号 |