一、代码
(1)HotLinkProtection.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
///HotLinkProtection 的摘要说明
/// </summary>
public class HotLinkProtection:IHttpModule
{
public HotLinkProtection()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
HttpContext context = application.Context;
if (context.Request.UrlReferrer==null|| context.Request.UrlReferrer.Authority != context.Request.Url.Authority) //判断这次请求的主机部分地址是否和上次请求的主机部分地址一样
{
context.Response.Write("网站启用了防盗链功能将转到主页");
context.RewritePath("HTMLPage.htm");
}
}
}
(2)web.config
<?xml version="1.0"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpModules>
<add name="HotLinkProtection" type="HotLinkProtection"/>
</httpModules>
</system.web>
</configuration>
二、尚未仔细测试,可能会有错误