用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页面文件就无能为力了。所以,本文在此抛砖引玉,希望能有朋友提出更好的办法。

时间: 2024-11-02 23:33:59

用ASP让用户访问指定页面的相关文章

如何在ASP.NET下遍历指定页面上所有控件

asp.net|遍历|控件|页面 如何在ASP.NET下遍历指定页面上所有控件 序:把它写下的目的,是感觉这段代码会对一些朋友有所帮助! #region 清空指定页面上所有的控件内容,public static void ClearAllContent()/// <summary>/// 清空指定页面上所有的控件内容,包括TextBox,CheckBox,CheckBoxList,RadioButton,RadioButtonList.但是不清/// 除如ListBox,DropDownLis

vsftpd添加用户并限制目录及指定用户访问指定目录

开发那边更新速度如果比较快,每天会有无数的文件或者目录交给运维更新上线,这样比较麻烦,干脆给他们搭FTP让他们自己上传修改,但有一问题,就是权限问题,公司五个站点有五个目录,每个人负责不同的站点,如何让各自都不干扰别人,或者说不到别人的目录搞"破坏"!下面解决这个问题! 一.检查Linux中vsftpd的安装情况. 就不啰嗦了 二.将系统中的SELinux关闭,然后重新启动电脑(不关闭的话修改好标签也可以) 关闭SELinux的方法: 修改/etc/selinux/config文件中的

使用 chroot 监狱限制 SSH 用户访问指定目录

将 SSH 用户会话限制访问到特定的目录内,特别是在 web 服务器上,这样做有多个原因,但最显而易见的是为了系统安全.为了锁定 SSH 用户在某个目录,我们可以使用 chroot 机制. 在诸如 Linux 之类的类 Unix 系统中更改 root(chroot)是将特定用户操作与其他 Linux 系统分离的一种手段:使用称为 chrooted 监狱 的新根目录更改当前运行的用户进程及其子进程的明显根目录. 在本教程中,我们将向你展示如何限制 SSH 用户访问 Linux 中指定的目录.注意,

用vbs、js 实现访问指定页面

在计划任务中添加Run.vbs 或 Run.js Run.vbs ' Create an instance of IEDim IESet IE = CreateObject("InternetExplorer.Application") 'Run your URLie.navigate("http://spring.cnblogs.com/")ie.visible=1'Clean upSet IE = Nothing  Run.js // Create the HT

获取和设置用户访问页面语言的php类

User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php <?php /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language * Date: 2014-05-26 * Author: fdipzone * Ver: 1.0 * * Fun

php实现获取及设置用户访问页面语言类

 本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考.具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php类文件如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

本机搭建tomcat服务器 架设网站 局域网内用户访问 页面动态加载的数据无法加载

问题描述 本机搭建tomcat服务器 架设网站 局域网内用户访问 页面动态加载的数据无法加载 本机搭建的tomcat服务器,数据库.局域网内用户访问系统页面,ajax动态加载数据无法显示.如图: [用户类型]是ajax动态加载的!本机页面正常,局域网内用户只有页面,没数据! 解决方案 你的代码呢?用chrome开发工具或者firebug看看报错了没有,ajax返回了什么内容. 解决方案二: 浏览器log中有没有错误,ajax打印下返回结果

php实现获取及设置用户访问页面语言类_php技巧

本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考.具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php类文件如下: <?php /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language *

网页页面加载对用户访问的影响

页面访问慢是网站公认的死穴,如果页面都没法访问,往后再精彩的体验都等于零.这个问题如果专业点说,叫做"加载"呈现效率.那么具体了讲,除常规的服务器处理速度.服务器端网络带宽.客户端网络带宽等"硬"问题外,有哪些是技术上没处理好的"软"问题? 举个例子,某页面浏览到一个地方卡住了,至少要等十几秒才出来内容.排查原因,浏览其他网站页面很快,说明客户端网络带宽没问题:浏览同个服务器上其他网站页面都很快,说明服务器的处理速度和网络带宽也没问题.分析代码可