首页
文章
文库
登录
|
注册
最新
推荐
热门
主题
关注
收藏
反馈
关注公众号
用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页面文件就无能为力了。所以,本文在此抛砖引玉,希望能有朋友提出更好的办法。
关联文档
DeepSeek 搞钱指令库
T GDWJ 016 公立医院全面预算管理工作指南
人工智能技术发展与应用实践
DeepSeek行业应用案例集解锁
2025AI大模型产业市场前景及投资研究报告
大家都在看
一文读懂:模型上下文协议(MCP)
AI产品经理如何搭建AI业务架构:从基础到应用的三层架构设计
智能BI平台架构的全景解析与应用场景
大模型是怎么被训练出来的?
渠道分析从入门到精通
全面解读DeepSeek蒸馏技术:模型蒸馏和数据蒸馏
一文分享 ChatBI 实践经验
深度学习五大模型:CNN、Transformer、BERT、RNN、GAN解析
推荐文档
企业战略及目标的制定
中国出海互联网公司数据保护合规对策
财务数据中台系统建设实践
当大模型推理遇到算力瓶颈如何进行工程优化
数据出境安全评估背景和要点
企业指标设计方法