整理: ASP.NET防盗链IHttpHandler源码如何做的?
2008-01-12 10:10
387 查看
解决方法:
(一)创建一个继承了System.Web.IHttpHandler接口的类
在System.Web.IHttpHandler接口有两个成员ProcessRequest()方法和IsReusable()属性。ProcessRequest(System.Web.HttpContext context) 方法,除了用户自定义中被要求处理的特殊的http请求。其中的参数 System.Web.HttpContext 类的实例装入了一个http请求中http协议中要求的所有信息。其中System.Web.HttpContext 类中包含有属性 Request 使得从客户端发送过来的http请求信息的值可以被方便地读取;属性Response 它封装了需要返回给客户端的信息和操作。
IsReusable()属性要置为true.
(二) 创建一个资源图片的方法Real()
1.若是盗链服务器给其错误图片。
2.若不是盗链服务器给其正常的图片。
在Real()方法中用到了FileInfo 这个类去取得图片的扩展名并用来判断图片的类型.
(三) 注意页面的缓存(response.Expires=1;获取和设置浏览器上缓存的页过期之前的分钟数.如果用户在页过期之前返回同一页,则显示缓存的内容)
(四)配置应用程序扩展名映射
因为IIS在接收到aspx页面请求时,会为其自动加载一个C:/WINDOWS/Micosoft.NET/Framework/v1.1.4322
/aspnet_isapi.dll文件。
虚拟目录和文件夹的属性里面的”执行许可”改为“纯脚本”。
若是有多个Web.config那么只要在总目录下有就可以了,其它地方的均可删除。
(五)在 Web.config这个网络应用程序配置文件中加入注册信息
<system.web>
<httpHandlers>
<add verb = "*" path = "*.jpg/.ief/.jpg/.jepg/.bmp/.png/.tif/.emf/.ras/.pnm/.pbm/.pgm
/.ppm/.rgb/.xbm/.xpm/.xwd/.did/.ico/.emf"type="HandlerExample.HttphandlerTest,HandlerExample"/>
.
.
</httpHandlers>
</system.web>/
(一)创建一个继承了System.Web.IHttpHandler接口的类
在System.Web.IHttpHandler接口有两个成员ProcessRequest()方法和IsReusable()属性。ProcessRequest(System.Web.HttpContext context) 方法,除了用户自定义中被要求处理的特殊的http请求。其中的参数 System.Web.HttpContext 类的实例装入了一个http请求中http协议中要求的所有信息。其中System.Web.HttpContext 类中包含有属性 Request 使得从客户端发送过来的http请求信息的值可以被方便地读取;属性Response 它封装了需要返回给客户端的信息和操作。
IsReusable()属性要置为true.
(二) 创建一个资源图片的方法Real()
1.若是盗链服务器给其错误图片。
2.若不是盗链服务器给其正常的图片。
在Real()方法中用到了FileInfo 这个类去取得图片的扩展名并用来判断图片的类型.
(三) 注意页面的缓存(response.Expires=1;获取和设置浏览器上缓存的页过期之前的分钟数.如果用户在页过期之前返回同一页,则显示缓存的内容)
(四)配置应用程序扩展名映射
因为IIS在接收到aspx页面请求时,会为其自动加载一个C:/WINDOWS/Micosoft.NET/Framework/v1.1.4322
/aspnet_isapi.dll文件。
虚拟目录和文件夹的属性里面的”执行许可”改为“纯脚本”。
若是有多个Web.config那么只要在总目录下有就可以了,其它地方的均可删除。
(五)在 Web.config这个网络应用程序配置文件中加入注册信息
<system.web>
<httpHandlers>
<add verb = "*" path = "*.jpg/.ief/.jpg/.jepg/.bmp/.png/.tif/.emf/.ras/.pnm/.pbm/.pgm
/.ppm/.rgb/.xbm/.xpm/.xwd/.did/.ico/.emf"type="HandlerExample.HttphandlerTest,HandlerExample"/>
.
.
</httpHandlers>
</system.web>/
相关文章推荐
- Asp.net web Api源码分析-如何获取IHttpHandler
- Asp.net web Api源码分析-如何获取IHttpHandler
- asp.net mvc源码分析-路由篇 如何找到 IHttpHandler
- asp.net mvc源码分析-路由篇 如何找到 IHttpHandler
- ASP.NET 如何避免頁面重新整理時重複送出
- ASP.NET 防盗链源码(转)
- ASP.NET 防盗链源码,图片防盗链
- 如何使用ASP.NET防盗链
- ORM,ASP.NET中ORM学习,ASP.NET中ORM学习心得,WEB2.0中ORM实现原理,Asp.net简单ORM示例源码详细讲解,Asp.net2.0:如何使用ObjectDataSource(配合ORM )
- ORM,ASP.NET中ORM学习,ASP.NET中ORM学习心得,WEB2.0中ORM实现原理,Asp.net简单ORM示例源码详细讲解,Asp.net2.0:如何使用ObjectDataSource(配合ORM )(二)
- ASP.NET 防盗链源码
- 如何在ASP.NET中实现防盗链[转]
- ASP.NET MVC 4源码分析之如何定位控制器
- 如何阅读别人的源码项目包(ASP.NET+SQL SERVER)
- ASP.NET 防盗链源码 (转)
- ASP.NET 如何有效的防止资源被盗(防盗链下载)
- ASP.NET MVC 4源码分析之如何定位控制器
- 整理了一下Asp.net源码常见问题(完善中...),欢迎大家补充修正(最后更新于06-01)!
- ASP.NET 防盗链源码
- ASP.NET MVC 利用IRouteHandler, IHttpHandler实现图片防盗链