`

asp.net 2.0中实现防盗链

    博客分类:
  • .NET
阅读更多

  今天看书时发现一个实现asp.net 2.0中实现防止盗链的方法,其实际的原理就是利用了IIS中HttpHandler模块来处理的。因为比如
平时用IIS只是处理如asp,aspx等文件,没处理如iis,jpg等图片的,下面简单小结下

1 建一个网站(vs.net 2005),然后添加一个Handler.ashx处理文件,处理HTTP请求,代码如下
  <%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        //判断是否是本地引用,如果是则返回给客户端正确的图片
        //这里的判断就是用到了http请求中所记录的页信息
        //如果是网站,可将“localhost”修改为网站地址
        if (context.Request.UrlReferrer.Host == "localhost")
        {
            //设置客户端缓冲中文件过期时间为0,即立即过期。
            context.Response.Expires = 0;
            //清空服务器端为此会话开辟的输出缓存
            context.Response.Clear();
            //获得文件类型
            context.Response.ContentType = "image/jpg";
            //将请求文件写入到输出缓存中
            context.Response.WriteFile(context.Request.PhysicalPath);
            //将输出缓存中的信息传送到客户端
            context.Response.End();
        }
        //如果不是本地引用,则属于盗链引用,返回给客户端错误的图片
        else
        {
            //设置客户端缓冲中文件过期时间为0,即立即过期。
            context.Response.Expires = 0;
            //清空服务器端为此会话开辟的输出缓存
            context.Response.Clear();
            //获得文件类型
            context.Response.ContentType = "image/jpg";
            //将特殊的报告错误的图片文件写入到输出缓存中
            context.Response.WriteFile(context.Request.PhysicalApplicationPath + "error.jpg");
            //将输出缓存中的信息传送到客户端
            context.Response.End();
        }
    }
    public bool IsReusable
    {
        get
        {
            return true;
        }
    }

}
 然后同样建立一个Handler.cs文件,放在app_code目录下,其内容就是上面的handler.aschx了,
2  在web.config中配置如下
    <httpHandlers>
   <add verb = "*" path = "*.jpg"   type="Handler" />
  </httpHandlers>


3  在IIS里处理
    在IIS里的默认网站的“配置”里,在“应用程序映射”里添加映射
其中映射的可执行文件为  “vs.net2005安装路径\aspnet_isapi.dll",扩展名为".jpg",这样就可以了


   

分享到:
评论

相关推荐

    ASP.NET2.0典型模块(17-22)ASP.NET2.0典型模块(1-16)

    ThumbnailImage 使用ASP.NET 2.0实现缩略图模块 AspJpegSample 使用第三方组件在ASP.NET 2.0中实现对图片的处理 &lt;br&gt;第12章(\C12) 示例描述:本章示例展现了ASP.NET2.0中的防盗链技术。 ...

    有效防止网页防盗链ASP2.0

    本文将详细介绍如何在ASP.NET 2.0中实现防盗链功能,并通过一个具体的示例来解释其实现过程。 #### 防盗链概述 防盗链主要是指防止其他网站或应用未经授权使用自己的资源(如图片、视频等),避免带宽资源被盗用,...

    ASP.NET2.0典型模块(1-16)

    ThumbnailImage 使用ASP.NET 2.0实现缩略图模块 AspJpegSample 使用第三方组件在ASP.NET 2.0中实现对图片的处理 &lt;br&gt;第12章(\C12) 示例描述:本章示例展现了ASP.NET2.0中的防盗链技术。 ...

    ASP.NET 2.0+C#2.0+SQL SERVER 2005 经典项目 源代码

    1.用户登录的验证程序 2.ASP.NET 的缓存功能 ...8.ASP.NET2.0中的防盗链技术 9.如何实现站内和站外的搜索 10.聊天室模块的实现 11.实现了留言板模块 12.新闻发布系统 13.在线考试系统 14.创建和使用服务

    精通ASP.NET2.0典型模块设计与实现

    精通ASP.NET2.0典型模块设计与实现,涵盖ASP.NET开发时常用的基本功能模块的设计与实现,包括:用户登录功能、在线投票、RSS的实现及应用、在线编辑器的原理及实现、在线支付、文件的上传和下载、电子邮件的发送和...

    asp.net中利用ashx实现图片防盗链的原理分析

    img=svn_work.gif HTTP/1.1 Accept: */* Referer: //www.jb51.net/ Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 ... .NET CLR 2.0.50727; .NET CLR 3.0.04506.6

    Asp.net防盗链实例

    为达到最佳效果,推荐使用九网互联的ASP.net空间,支持ASP.net版本1.1和2.0在线切换、在线脚本映射、ASP.net具体错误信息在线查看。通过设置web.config中的域名即可控制哪些域名是允许的,设置是否直接下载、是否...

    asp.net中利用ashx实现图片防盗链代码

    GET /Img.ashx?img=svn_work.gif HTTP/1.1 Accept: */* Referer: ... MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA

    (经典)图片的处理程序以及防止盗链的方法(含源码)

    综上所述,ASP.NET 2.0提供了强大的图片处理能力和防盗链策略。通过HttpHandler,我们可以实现图片的动态处理和安全控制,保护我们的资源不被滥用。在实际应用中,可以根据项目需求和安全策略选择合适的方法组合,...

    asp.net Web 媒体保护精灵V2.0

    本软件实现对url的加密处理, 浏览用户无法得知真正的资源路径,同时迅雷等流行下载软件也无法感知真正的资源路径。 先前发布过V 1.0,由于不成熟,存在很多问题,现已针对这些问题做了校正,目前已成功应用于多个...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    大型互联网开发技术:代码生成、网页静态化、基于JQuery的Web2.0页面开发、AJAX、SEO、网站调优、采集器、RSS/XML、网站防黑(防XSS攻击、防注入漏洞攻击、防CC攻击、防挂马、防盗链、敏感词过滤、广告帖智能过滤)...

    easypanel虚拟主机控制面板 v1.3.2

    easypanel 是一款集开通虚拟主机、ftp、空间、mysql数据库等功能为一体的虚拟主机控制面板。具备安全、稳定、操作简便等特点。支持php(windows版还支持asp/asp.net)、支持磁盘配额、在线文件管理、... 支持防盗链功能

    asp.net美女营图片系统(采集防采集图片)v3.0

    服务器环境要求:Windows2003 .Net Framework 2.0 Sql Server 2000功能特点:美女营图片系统采用...2、采用Outdosoft开发的专业采集系统,宜用、稳定、高效,可以采集防盗链图片、支持断点续采。3、自定义缩略图、水印

    亮剑.NET深入体验与实战精要2

    8.2.1 安装ASP.NET 2.0 Ajax Extensions 333 8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新...

    亮剑.NET深入体验与实战精要3

    8.2.1 安装ASP.NET 2.0 Ajax Extensions 333 8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新...

    .net旅游网站模板

    15.独创模块编辑功能,可自己设计独特的模块(包括但不限于:脚本代码、ASP.NET代码、图片、文字等等,只要你想得到的任何网页元素)供设计模板时使用。 16.独创全站图片即时替换功能,方便地替换网站中任何位置的...

    桃源网络硬盘.Net v5.2

    完善的等级防盗链及流量控制功能。 59.支持大文件、多文件、断点续传、进度显示上传。 60.支持直接下载其它网站文件至空间,带详细进度显示功能。 61.可自动开通FTP帐号对应用户空间进行文件管理。 62....

    方维购物分享2.0商业版

    4. `.htaccess`:这是一个Apache服务器的配置文件,通常用来实现URL重写、设置访问权限、防盗链等,对于优化网站SEO和保护资源安全起着重要作用。 5. `u.php`:这可能是一个用户相关的PHP脚本,可能是用户登录、...

    AMR采集系统(原万用小偷程序) v3.1

    AMR自动采集系统V3.1版要求:您的服务器必须支持asp.net 2.0, 必须使用MSSQL2000以上数据库版本. 附windows .net framework 2.0 32位下载地址:...

Global site tag (gtag.js) - Google Analytics