学习笔记:使用HTTP处理程序监视指定目录请求
2012-09-09 15:06
561 查看
HTTP处理程序简介:
http://msdn.microsoft.com/zh-cn/library/ms227675(v=vs.80)
网站目录结构:
根目录:test
所有图片目录:/Test/UpImage/
防止直接访问Upimage下的图片
比如:http://localhost:6196/Test/UpImage/20120909085159467510.jpg
添加一个http处理程序,监视是否直接请求Upimage目录下的图片
添加步骤:
点击网站项目右键-->添加新项-->类-->提示xxxxxx->确定-->程序自动创建App_Code目录并把新建的http处理程序放到该目录中
在Web.config配置文件中注册
<system.web>
<add verb="*" path="Upimage/*.jpg" type="SurveillanceImageRequest" />
解释:verb:请求的方式 *表示所有请求
path:请求的路径
type:处理程序名称
当请求Upimage目录下的任意图片,都交给SurveillanceImageRequest处理程序进行处理.
注意:如果在一个类库项目里添加了http处理程序,需要添加System.Web.dll程序集的引用,
没有这个引用就不能使用,IHttpHandler和HttpContext之类的类型。
http://msdn.microsoft.com/zh-cn/library/ms227675(v=vs.80)
网站目录结构:
根目录:test
所有图片目录:/Test/UpImage/
防止直接访问Upimage下的图片
比如:http://localhost:6196/Test/UpImage/20120909085159467510.jpg
添加一个http处理程序,监视是否直接请求Upimage目录下的图片
添加步骤:
点击网站项目右键-->添加新项-->类-->提示xxxxxx->确定-->程序自动创建App_Code目录并把新建的http处理程序放到该目录中
在Web.config配置文件中注册
<system.web>
<add verb="*" path="Upimage/*.jpg" type="SurveillanceImageRequest" />
解释:verb:请求的方式 *表示所有请求
path:请求的路径
type:处理程序名称
当请求Upimage目录下的任意图片,都交给SurveillanceImageRequest处理程序进行处理.
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// 监视请求是否直接访问Upimage目录下的文件 /// 1:继承IHttpHandler接口 /// 实现接口中的方法 /// </summary> public class SurveillanceImageRequest:IHttpHandler { public bool IsReusable { get { return false; } } /// <summary> /// 处理请求 /// </summary> /// <param name="context">参数HttpContext封装了请求和响应</param> public void ProcessRequest(HttpContext context) { //Response:响应 //Write("响应给浏览器的内容") context.Response.Write("<script>alert('非法请求');location.href='跳转地址';</script>"); } }
注意:如果在一个类库项目里添加了http处理程序,需要添加System.Web.dll程序集的引用,
没有这个引用就不能使用,IHttpHandler和HttpContext之类的类型。
相关文章推荐
- IIS虚拟目录内的视频文件访问出错:HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- stuts2学习笔记------指定需要struts2处理的请求后缀&细说常量定义&常用常量介绍
- 学习笔记---httpHandler处理程序
- 模块和处理程序之通过HttpModule和HttpHandler拦截入站HTTP请求执行指定托管代码模块
- ASP.NET 3.5核心编程学习笔记(45):HTTP处理程序之高级编程
- Android中Http网络请求库框架Volley和Asnyc-http的使用---第三方库学习笔记(一)
- 学习笔记--post 相比get 有很多优点,为什么现在的HTTP通信中大多数请求还是使用get?
- ASP.NET 3.5核心编程学习笔记(44):HTTP处理程序的编写之从数据库加载图像
- ASP.NET 3.5核心编程学习笔记(41):HTTP处理程序与HTTP模块
- Rx系列学习笔记_使用okhttp拦截器统一处理返回请求
- android菜鸟学习笔记24----与服务器端交互(一)使用HttpURLConnection和HttpClient请求服务端数据
- ASP.NET 3.5核心编程学习笔记(42):HTTP处理程序的编写之建立数据报表
- 【Struts2学习笔记(4)】指定需要Struts 2处理的请求后缀和细说常量定义
- ASP.NET 3.5核心编程学习笔记(43):HTTP处理程序的编写之图片查看器
- Http学习之使用HttpURLConnection发送post和get请求
- http请求使用patch,后台Springmvc处理请求参数问题
- ASP.NET学习笔记(二)——一般处理程序之图片上传
- 第10课:底实战详解使用Java开发Spark程序学习笔记
- Http学习之使用HttpURLConnection发送post和get请求
- WCF布署问题1 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。