学习笔记:使用HTTP处理程序监视指定目录请求

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处理程序进行处理.

            

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之类的类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值