asp.net网站安全之————iHttpModule判断当前页面session是否为空(1)

本文介绍了一个用于ASP.NET应用程序的自定义HTTP模块——MyHandler,该模块主要用于未登录用户的会话验证。当用户尝试访问特定页面时,此模块会检查用户会话中的用户名是否存在,若不存在则自动跳转到登录页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  网站的安全总是让我们站长苦不堪言,其实在网站方面只要注意两点就行,1,严格检测用户输入。2,尽量写存储过程。原则是不要相信你的客户端。下面是一些解决方法之一。

 

MyHandler.cs

}/*将其生成DLL*/

using System;
using System.Collections.Generic;
using System.Text;
using System.Web;

namespace MyNameSpace
{
    public class MyHandler : IHttpModule
    {
        public void Init(HttpApplication application)
        {
            application.AcquireRequestState += new EventHandler(application_AcquireRequestState);
        }

        public void application_AcquireRequestState(object sender, EventArgs e)
        {
            HttpApplication app = (HttpApplication)sender;

            if (app.Context.Request.Path.ToUpper() == "/aes/cTrace/logon.aspx".ToUpper())
                return;
            if (app.Context.Request.Path.ToUpper() == "/aes/cTrace/logonMenu.aspx".ToUpper())
                return;
            if (app.Context.Request.Path.ToUpper() == "/aes/cTrace/treePlaceHolder.aspx".ToUpper())
                return;
            if (app.Context.Request.Path.ToUpper() == "/aes/cTrace/logonMain.aspx".ToUpper())
                return;

            if (app.Context.Session["userName"] == null || app.Context.Session["userName"].ToString().Trim() == "")
            {
                app.Context.Server.Transfer("/aes/cTrace/logon.aspx");
            }
        }

        public void Dispose()
        {
        }
    }

 

web.config文件中声明:
<httpModules>
      <add name="MyHandler" type="MyNameSpace.MyHandler,MyNameSpace" /> 
</httpModules>

web application bin文件夹下添加该DLL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值