- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IIS7模块开发研究――实现拒绝图片跨网站连接请求
摘要:IIS7中应用程序池处理的每项功能都被委托给一个具体模块,并且IIS7允许根据需要开启或禁用某个具体模块。现在,可以将应用程序池本身视作为一个简单的工作流或处理管道,在请求的生命周期过程中,每一个阶段都被称为一个事件,模块为事件处理提供了相关的功能支持。通过自定义模块我们可以方便灵活的将自定义功能添加到Web服务器中去。
关键词:IIS7模块;.NET;request-header
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)29-7113-02
IIS与其它的Web服务器平台类似,随着不断地演进,IIS的复杂性越来越高,功能越来越强。其核心服务也同样得到了扩展和增强,性能不断提高,功能也不断增强。随着功能不断增强,IIS提供了越来越多的特性,系统资源开销越来越大。对于那些不需要使用这些增强特性的Web应用程序来说,这些高级特性只是浪费了宝贵资源,增加了系统负担,然而却毫无用处。
IIS7考虑了这方面的问题,其提供了具有很强适应能力的core server系统,这个系统可以剪裁为具有很高性能的并且相当健壮的处理引擎。IIS7处理请求的过程如图1。
从图中可以看到,IIS7中应用程序池处理的每项功能都被委托给一个具体模块,并且IIS7允许根据需要开启或禁用某个具体模块。现在,可以将应用程序池本身视作为一个简单的工作流或处理管道,在请求的生命周期过程中,每一个阶段都被称为一个事件,模块为事件处理提供了相关的功能支持。
微软公司随IIS7一同发行了40多个模块,一般情况下只需要使用一部分默认模块,就可以获得一个功能完美的Web服务器。如果需要实现一些默认模块没有提供的功能,我们也可以自己为IIS7开发模块。
1 拒绝图片跨网站连接请求原理
所谓图片跨网站连接请求指的是,如果我们的Web网站中包含了大量图片资源,而这些图片资源同时被其他Web网站的页面引用,那么当用户访问其他Web网站的页面时,将会访问我们的Web服务器,所以不仅会浪费我们的Web服务器的带宽资源,而且还会影响到其他资源的使用。
拒绝图片跨网站连接请求的关键在于检查我们的Web网站所接收到图片资源的请求头(request-header)中的两个字段Host与Referer,Host字段保存了请求目标Web网站的地址,Referer字段保存了请求发起页面的完整URL,如果Referer字段与Host字段包含的Web网站的地址不一致,则可以断定该请求是一个跨网站连接请求,也就是一个应该被拒绝的请求。
如果能创建一个IIS7模块完成图片资源请求中的Referer字段与Host字段比较的话,就能在我们的Web网站中实现拒绝图片跨网站连接请求了。
2 创建图片资源请求分析模块
IIS7模块的开发可以利用托管代码完成,也就是说我们可以在.NET平台上为IIS7创建托管模块。图片资源请求分析模块可以利用Visual Studio 2010作为集成开发环境创建,该模块首先需要满足的第一个要求是实现IHttpModule接口,实现IHttpModule接口是创建IIS7托管模块的基本要求。所以首先可以在Visual Studio 2010中创建一个类文件,在该类文件中实现IHttpModule接口,代码如下:
using System;
using System.Web;
using System.Collections.Specialized;
namespace CustomModules
{public class PicLinkAnalysis : IHttpModule
{public PicLinkAnalysis()
{}
public void Dispose()
{}
public void Init(HttpApplication context)
{}
}}
上述代码同时也说明了基本的模块框架。IHttpModule接口的实现必须能够提供基本的构造方法PicLinkAnalysis()、初始化方法Init(HttpApplication context)和对象销毁方法Dispose()。
接下来,由于网站需要在对图片资源的请求阶段分析链接,所以我们必须让模块能处理BeginRequest事件。可以在模块初始化方法中添加下述代码实现:
public void Init(HttpApplication context)
{context.BeginRequest += new EventHandler(con
您可能关注的文档
- C++中引用的使用及教学方法分析.doc
- C++语言课教学中软件工程思想的熏陶.doc
- CAI在高职院校教学中的应用.doc
- CAD机房管理现状及对策.doc
- CALL在计算机专业英语教学中的应用.doc
- CAI在课堂教学中的运用.doc
- CASE工具国外使用问题及我们应采取的相应对策.doc
- CAI在计算机教学中的应用研究.doc
- Catmull-Rom插值算法在基于OpenGL的三维地形绘制中的应用实现.doc
- CBE模式下的FLASH案例教学.doc
- 2025年烟台市正大城市建设发展有限公司招聘工作人员12名笔试参考题库附带答案详解.doc
- 2025年衢州市属国企公开招聘工作人员笔试参考题库附带答案详解.doc
- 2025中铁四局集团有限公司法律合规部公开招聘1人笔试参考题库附带答案详解.docx
- 2025中国建筑股份有限公司岗位招聘【人力资源部(干部人事部)】笔试参考题库附带答案详解.docx
- 2025年滁州定远县中盐东兴盐化股份有限公司招聘2人笔试参考题库附带答案详解.doc
- DB1331T109-2025雄安新区建设工程抗震设防标准(963.84KB)(1).pdf
- 2025辽宁省能源控股集团所属抚矿集团招聘76人笔试参考题库附带答案详解.pdf
- 2024陕西延长石油集团华特新材料股份有限公司社会招聘8人笔试参考题库附带答案详解.pdf
- 2023内蒙古大唐国际锡林浩特矿业有限公司采煤自营专项社会招聘32人笔试参考题库附带答案详解.pdf
- 2024年12月云南大学国际合作与交流处公开招聘(1人)笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
最近下载
- 个体防护装备配备规范.pdf VIP
- 尾矿库安全规程.docx VIP
- 工作场所有害因素职业接触限值 第2部分物理有害因素.doc VIP
- DX—TH2使用与维护说明书附图.doc VIP
- 危险化学品单位应急救援物资配备要求.pdf VIP
- GB30000.26-2013 化学品分类和标签规范 第26部分:特异性靶器官毒性 反复接触.pdf VIP
- 2025《速度、力度与常用音乐术语》大单元整体教学设计.docx
- GB 30000.28-2013 化学品分类和标签规范 第28部分:对水生环境的危害.docx VIP
- GB30000.27-2013 化学品分类和标签规范 第27部分:吸入危害.pdf VIP
- GB30000.25-2013 化学品分类和标签规范 第25部分:特异性靶器官毒性 一次接触.pdf VIP
文档评论(0)