HttpModule学习笔记

搞定ESD(二):ESD干扰机理分析 大家好,我是记得诚。上文介绍了ESD的基本知识,对ESD的测试标准进行了解析,包括静电发生器的介绍,实验布置要求,静电放电实验的实施及判定等内容。本文主要介绍ESD的干扰机理。 阅读详情

在微软的网站上找到了篇关于HttpModule的文章发现这个技术非常的好,他能为我们的安全带来好处.

那么HttpModule到底是干什么的呢?

HttpModule是向实现类提供模块初始化和处置事件。

首先你要实现IHttpModule接口这个接口只有两个方法,一个是Init方法一个Dispose方法.一看方法的名字就知道了这两个方法一个是在加载前调用的,一个是Dispose时调用的(页面最后处理的一个事件).

 

下面代码说明了如何在所有的页面加载之前和结束写入一段文字:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// HelloWorldModule 的摘要说明
/// </summary>
public class HelloWorldModule : IHttpModule
{
public HelloWorldModule()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
    
string str = "";
    
public String ModuleName
    {
        
get { return "HelloWorldModule"; }
    } 

    
public void Init(HttpApplication application)
    {
       
//注册页面请求开始和结束事件
        application.BeginRequest +=
            (
new EventHandler(this.Application_BeginRequest));
        application.EndRequest 
+=
            (
new EventHandler(this.Application_EndRequest));
    }

    
private void Application_BeginRequest(Object source, EventArgs e)
    {
       
//在页面开始请求前写入一段文字
        HttpApplication application = (HttpApplication)source;
        HttpContext context 
= application.Context;
        context.Response.Write(
@"<h1><font color=red>
            HelloWorldModule: Beginning of Request
            </font></h1><hr>
"+
        application.Request.QueryString.Count.ToString());
    }

    
private void Application_EndRequest(Object source, EventArgs e)
    {
      
//页面请求结束后写入一段文字
       HttpApplication application = (HttpApplication)source;
       HttpContext context 
= application.Context;
       context.Response.Write(
@"<hr><h1><font color=red>HelloWorldModule: End of Request</font></h1>");
    }
    
public void Dispose()
    {
    }
}

在web.config增加下面配置:

<httpModules>

<add name="HelloWorldModule" type="HelloWorldModule"/>

</httpModules>

 

上面是个小例子.那我们可以在这里做多少件事情呢?看下面的表就可以得出结论.

事件

说明

BeginRequest

指示请求处理开始。

AuthenticateRequest

PostAuthenticateRequest

封装请求身份验证过程。

AuthorizeRequest

PostAuthorizeRequest

封装请求授权过程。

ResolveRequestCache

PostResolveRequestCache

封装检查是否能利用以前缓存的输出页面处理请求的过程。

PostMapRequestHandler

指示已发现用于处理请求的 HTTP 处理程序。

AcquireRequestState

PostAcquireRequestState

封装对请求会话状态的检索。

PostRequestHandlerExecute

指示用于处理请求的 HTTP 处理程序已执行。

ReleaseRequestState

PostReleaseRequestState

封装对请求会话状态的发布。

UpdateRequestCache

PostUpdateRequestCache

封装检查是否应对请求的资源的输出进行缓存以备今后重复使用的过程。

EndRequest

指示请求处理结束。

我们可以根据相应的事件来进行处理.做了这么长时间才发现你没想到的微软都替你想到了.

 

在httpModule中到底要做什么?我根据一个朋友的文章写了个根据配置文件来验证页面的连接字符串的传参个数和传参的内容是否符合标准的例子.

还有个朋友给我说了,这个可以用来修改跳转Url的改写.

在CommunityServer中还用httpModule做了当异常处理的时候进行程序异常的页面打印的操作.

AuthenticateRequest 请求身份验证和AuthorizeRequest请求授权过程的操作.

但是依然还是对这个东西很不解的就是为什么不可以写异常处理出来后进行页面跳转呢?我尝试了很多次,都是重复刷新同一个页面.不知道为什么?

如果httpModule写的过于臃肿那页面调用不就是很慢了吗?

那httpModule还在什么应用中使用.除了url重写,异常处理,身份验证,没有其他的了吗?很不解

 
109. SAP ABAP 应用程序中的锁机制和工作原理介绍 SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。 阅读详情

相关推荐

ECMWF等大气数据批量下载(Python API)详细步骤

ECMWF等大气数据批量下载(Python API) 遥感方向做热红外温度反演,不可避免的要用到大气廓线数据,大气数据具有实时性,比如2018年9月1日的早上8点的影像,为了提高反演精度就需要用到时间上与其相差尽可能接近的大气数据,用于消除大气的影响,如果数据量较少我们可以查看影像的时间和空间范围进行下载,但是如果处理某个较大区域时可能涉及到大量的影像,如果一景一景对应查找去下载会很麻烦,因此针对大量数据的自动批量下载很有必要。本文根据 https://cds.climate.copernicus.eu/#

liuxiaojiangtobeno1的博客 1万+

【小结】IIS7下的Http Native Module开发

  今天接到Product Manager的通知,Exchange 2007环境下的Native Module不再需要开发(详情可见上篇),但最近几天一直在做Prototype,那就做一下小结吧,总结一下最近几天的收获。   一. 准备工作:   1. 开发前安装Windows Platform SDK,主要是使用其中的#include <httpserv.h>(用到的很多接口都可...

weixin_34240520的博客 341

如何在Tagetik系统中抽取处理SAP系统财务数据

如何在Tagetik系统中抽取处理不同核算系统财务数据:以SAP为例,简单讲一下Tagetik对接SAP数据的基本情况

2201_75401663的博客 578

HttpModule与HttpHandler详解

ASP.NET对请求处理的过程: 当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之 后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求 发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRu...

mmdev 166

大白话系列:什么是微服务

用大白话和实际例子来通俗易懂地告诉你什么是微服务~

2401_87403086的博客 1242

OceanBase数据库:从入门到精通全栈教程目录(含架构解析、性能调优与实战案例)

《OceanBase数据库专栏》全面解析蚂蚁集团自主研发的分布式关系型数据库,涵盖从基础到高级的完整知识体系。专栏分为入门篇、原理篇、使用篇等七大模块,包含35+篇深度文章,详细讲解OceanBase的高可用架构、Paxos协议、LSM树存储引擎等核心技术。特别提供MySQL/Oracle迁移指南、金融/电商场景实践案例,以及性能调优、运维监控等实战内容。适合开发者、DBA及架构师快速掌握OceanBase的核心特性和行业应用,助力企业实现数据库分布式转型。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 983

科研必备:15款顶尖AI科研工具全面分析汇总(持续更新ing)

科研必备:15款AI科研工具全面分析汇总(持续更新ing)

Code_流苏:在代码中寻诗意,在实践中觅真知 9660

ASP.NET HttpModule——原理

一、Asp.Net执行过程    当客户端向web服务器请求一个*.aspx的页面文件时,同asp类似,这个http请求也会被inetinfo.exe进程截获(www服务),它判断文件后缀之后,把这个请求转交给ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个HTTP请求

微软新技术 954

Python 实战:全面解析“微信搜一搜”内容爬取,从入门到企业级架构

本文将带你从零搭建爬虫项目,采用 Requests、Scrapy、Selenium、Proxy 池、中间人监控(如 Fiddler/mitmproxy)、分布式调度、数据库持久化、断点续抓等方案,实现可持续、抗封能力强的内容抓取系统。理解“微信搜一搜”页面结构与 Javascript 渲染逻辑;使用 Scrapy 框架搭建分布式爬虫;使用 Selenium 模拟浏览器抓取;构建代理池提升爬取成功率;对抗验证码、IP 封禁与 cookie 过期问题;

2201_76125261的博客 1393

从被秒封到稳过Cloudflare!Canvas/WebGL/WebRTC多维度浏览器指纹隐身全实战

反爬和反反爬,本质上是一场持续的博弈,没有100%的隐身,只有不断升级的伪装。网上很多教程只给了个基础的噪声代码,却没讲透反爬的检测逻辑,导致你用了还是被封。这套方案的核心,不是简单的API重写,而是站在反爬的角度,模拟真实用户的所有特征,保证所有指纹的一致性、合理性、完整性。目前这套方案我用了半年,跑了上千万次请求,稳过国内国外99%的主流反爬平台,没有出现过一次因为指纹关联导致的批量封禁。大家有什么更狠的反爬场景,或者更好的伪装技巧,欢迎评论区一起交流。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1195

HttpModule HttpHandler HttpHandlerFactory 学习笔记

1。HttpModule 最常见的是使用HttpModule来做页面权限控制。 在新建类库添加如下代码: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; usi...

weixin_30457881的博客 81

开发Qt上位机获取阿里云IOT设备数据(开发上位机对接阿里云IOT平台)

使用Qt框架开发一款上位机软件,调用阿里云物联网平台的API接口,获取设备最新上传的实时数据,并在Qt设计的软件界面上展示处理。同时,还支持绘制曲线图表展示数据,并具备定时刷新功能。

2144

HttpModule HttpHandler HttpHandlerFactory 学习笔记

1。HttpModule 最常见的是使用HttpModule来做页面权限控制。 在新建类库添加如下代码: 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 30 31 32 33 3...

weixin_30690833的博客 133

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Httphandler,HttpModule学习笔记

1.Asp.Net页面请求流程(IIS5.X) inetinfo.exe:监听Request并把Request分发到Work Process。 Http PipeLine:将Http请求发送给ASPNET_WP.EXE进程的管道。采用这个管道来通信是由于IIS在IntelInfo进程,和ASPNET_WP.EXE进程间的通信是同一台机器不用进程的通信。(ASPNET_WP.EXE进程...

weixin_30394981的博客 126

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Asp.Net HttpModule学习笔记

出处: http://www.inspiresky.com/Article/dotnet/200708/9846.html   在微软的网站上找到了篇关于HttpModule的文章发现这个技术非常的好,他能为我们的安全带来好处.      那么HttpModule到底是干什么的呢?      HttpModule是向实现类提供模块初始化和处置事件。      首先你要实现IHttpModule接口

1012

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HttpHandler 与 HttpModule 的学习笔记

很久没从事WEB方面的开发了,但鉴于未来项目的必备性及社会发展的必然性使我不得不重拾这块,N多年前开发的ASP.NET时用自带控件为了功能而做项目,今天回头再做时发现这个框架也发生了很大变化,如MVC的出现,但总体来说,都是基于ASP.NET为核心的扩展,而这又不能不谈:HttpHandler 与 HttpModule。 以下内容为自己学习笔记,未按教程方式整理: 1、HttpHandler ...

weixin_30938149的博客 162

ASP.NET HttpModule学习笔记(二)——实例

1.打开VS2005/VS2008,新建-》项目一个web 应用程序,如下图所示: 2.于前面创建的TestHttpModule解决方案中新建一个类库项目,如下图所示 修改该类库项目的属性为下图(也可以不进行修改): 3.该类库项目中编写一个类,类代码如下: HttpModule实例类 usingSystem; u...

weixin_30528371的博客 121

.net学习笔记---HttpHandle与HttpModule

  问题1:什么是HttpHandler?   问题2:什么是HttpModule?   问题3:什么时候应该使用HttpHandler什么时候使用HttpModule?   答案1:HttpHandler,Http请求的处理者,例如ScriptHandler、WebServiceHandler,IHttpHandler的实现都是为了处理某一类的请求。如ScriptHandle...

weixin_30820151的博客 114

ASP.NET HttpModule学习笔记(一)——原理

一、Asp.Net执行过程 当客户端向web服务器请求一个*.aspx的页面文件时,同asp类似,这个http请求也会被inetinfo.exe进程截获(www服务),它判断文件后缀之后,把这个请求转交给ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个H...

weixin_30918633的博客 127

ASP.NET底层架构学习笔记

自己刚接触ASP.NET时的学习笔记,从网上总结并做了标记。现在很多入门者都不了解这些内容,只有到用到的时候才看....   在线预览和下地:   推荐另外两篇读书笔记: HttpHandler 学习总结实例应用-读书笔记 HttpModule 学习总结实例应用-读书笔记 ...

weixin_34408717的博客 123

HttpModule的认识

HttpModule是向实现类提供模块初始化和处置事件。当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者

longlonglongway的专栏 933

HttpModule介绍

1. 引言 Http 请求处理流程和Http Handler 介绍这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进行处理(应该记得Page类实现了IHttpHandler)。从Http 请求处理流程一文的最后的一幅图中可以看到,在Http请求由IHttpHandler处理之前,它需要通过一系列的Http Module;在请求处理之后,它需要再次通过一系列的Http Module,那么这些Http Module是...

zp19860529的博客 1183

HttpModule到底是个什么东西

  在学习DNN到UrlRewriteModule类时(UrlRewriteModule.vb中),发现这个类是由IHttpModule接口继承来的。一查MSDN知道了UrlRewriteModule原来是个HttpModule。那么HttpModule到底是个什么东西?有什么用?用了有什么好处?  HttpModule这个东西我原来从来没有用到过(可见自己的知识面和.net的庞大功能有多么大的差

我的生活,我的BLOG 945
上一篇: Httphandler学习中的知识点.
下一篇: 用Ajax 1.0制作一个按钮提交后UpdatePanel动画
winnerzone
博客等级 码龄22年 5粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值