asp.net HttpHandler实现图片防盗链

 更新时间:2009年11月09日 18:57:21   作者:  
这个例子来自于《Maximizing ASP.NET Real World, Object-Oriented Development》一书, 需要的朋友可以参考下。
Step.1:创建文件 CustomHandler.cs,代码如下:
复制代码 代码如下:

using System;
using System.Web;

namespace CustomHandler{
public class JpgHandler : IHttpHandler{
public void ProcessRequest(HttpContext context){
// 获取文件服务器端物理路径
string FileName = context.Server.MapPath(context.Request.FilePath);
// 如果UrlReferrer为空,则显示一张默认的禁止盗链的图片
if (context.Request.UrlReferrer.Host == null){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}else{
// 如果 UrlReferrer中不包含自己站点主机域名,则显示一张默认的禁止盗链的图片
if (context.Request.UrlReferrer.Host.IndexOf("yourdomain.com") > 0){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile(FileName);
}else{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}
}
}

public bool IsReusable{
get{ return true; }
}
}
}

Step.2 编译这个文件
复制代码 代码如下:

csc /t:library /r:System.Web.dll CustomHandler.cs

Step.3 将编译好的 CustomHandler.dll 拷贝到站点的 Bin 目录下。
Step.4 在Web.Config 中注册这个Handler。
复制代码 代码如下:

<system.web>
<httpHandlers>
<add path="*.jpg" verb="*" type="CustomHandler.JpgHandler, CustomHandler" />
</httpHandlers>
</system.web>

OK,诸位可以按步骤自行测试一下,这里就不赘述了。

相关文章

  • JavaScript中解析JSON数据的三种方法

    JavaScript中解析JSON数据的三种方法

    这篇文章主要介绍了JavaScript中解析JSON数据的三种方法,本文讲解了eval()方法、new Function方法、JSON.parse()方法等三种方法,需要的朋友可以参考下
    2015-07-07
  • 微信小程序 Animation实现图片旋转动画示例

    微信小程序 Animation实现图片旋转动画示例

    这篇文章主要介绍了微信小程序 Animation实现图片旋转动画示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 详解Layer弹出层样式

    详解Layer弹出层样式

    学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码,需要的朋友可以参考下
    2017-08-08
  • JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题

    JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题

    这篇文章主要介绍了JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题的相关资料,需要的朋友可以参考下
    2015-12-12
  • 小程序实现侧边栏切换

    小程序实现侧边栏切换

    这篇文章主要为大家详细介绍了小程序实现侧边栏切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript实现网页计算器

    JavaScript实现网页计算器

    这篇文章主要为大家详细介绍了JavaScript实现网页计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 微信小程序 点击切换样式scroll-view实现代码实例

    微信小程序 点击切换样式scroll-view实现代码实例

    这篇文章主要介绍了微信小程序 点击切换样式scroll-view实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • JavaScript可选链的实现示例

    JavaScript可选链的实现示例

    本文主要介绍了JavaScript可选链的实现示例,它通过使用问号(?)来判断属性或函数是否存在,避免了因为属性或函数不存在而导致的错误,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 微信小程序之事件交互操作实例分析

    微信小程序之事件交互操作实例分析

    这篇文章主要介绍了微信小程序之事件交互操作,结合实例形式分析了微信小程序事件响应、交互及界面布局等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-12-12
  • JS一个简单的注册页面实例

    JS一个简单的注册页面实例

    下面小编就为大家带来一篇JS一个简单的注册页面实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论