黑马程序员_Asp.Net防盗链

来源:互联网 发布:淘宝儿童卡通墙贴 编辑:程序博客网 时间:2024/05/01 02:32

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

 

在学习过程中,学会了用Asp.Net防盗链,但是我实验了一下,这个防盗链只能防止同样使用Asp.Net来访问的网站,其他的HTML等就不管用了。仅供参考

我用一个类来继承IHttpModule也可以是继承IHandler么,我这个程序里的IHandler这个被占用了,所以用的IHttpModule。

配置文件:

 <httpModules>        <add name="HttpModule" type="HttpModule" />      </httpModules>

 

代码:

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>///MDo 的摘要说明/// </summary>public class HttpModule:IHttpModule{    public void Init(HttpApplication context)    {               context.BeginRequest += new EventHandler(context_BeginRequest);    }    void context_BeginRequest(object sender, EventArgs e)    {        //获取当前的对象        HttpApplication context = sender as HttpApplication;        if (context.Request.UrlReferrer == null )        {        }        else         {            //判断来访的人是否是我们自己的            if (context.Request.UrlReferrer.Host == "localhost" && context.Request.UrlReferrer.Port == context.Request.Url.Port)            {                   //如果是就不做处理,让其正常运行            }            else//是外来人员就,做处理            {                //如果访问类型为图片                context.Response.ContentType = "image/jpg";                //就给它一张我们指定错误图片                context.Response.WriteFile(context.Request.PhysicalApplicationPath + "admin/BookCovers/1323.jpg");            }        }    }    public void Dispose()    {         }}

 

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
原创粉丝点击