asp.net 图片防盗链
来源:互联网 发布:为何选择软件测试 编辑:程序博客网 时间:2024/04/29 06:31
防盗链有一些方法,但是最根本的方法还是判断请求的主机是否本服务器,如果是从别的IP地址过来的请求,则发给其一个错误提示,步骤如下:1.建立Handler,在Handler中判断客户端请求的主机的IP地址,然后根据地址判断向其发送正常图片还是盗链提示2.在web,config中添加节点,设置所有对于.jpg格式(当然还可以是其他格式),都转到这个Handler中,而不是直接请求图片。首先是Handler代码
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 + "images/error.jpg"); //将输出缓存中的信息传送到客户端 context.Response.End(); }
下面是web.config的配置
<system.web> <compilation debug="true" targetFramework="4.0" /> <httpHandlers> <add verb="*" path="*.jpg" type="WebApplication2.Handler1,WebApplication2"/> </httpHandlers> </system.web>
注释很清楚,不多解释。但是上面的方法只适合于测试,真正发布到IIS上,还需要对IIS进行配置,不多说了,自己去搜吧。
- ASP.NET图片防盗链
- asp.net 图片防盗链
- ASP.NET 防盗链源码,图片防盗链
- ASP.NET 图片加水印防盗链
- ASP.NET 图片加水印防盗链
- ASP.NET 图片加水印防盗链
- ASP.NET简单实现图片防盗链
- ASP.NET简单实现图片防盗链
- ASP.NET 图片加水印防盗链
- ASP.NET防盗链
- asp.net 防盗链
- asp.net防盗链
- asp.net防盗链
- asp.net中利用ashx实现图片防盗链
- asp.net中利用ashx实现图片防盗链
- ASP.Net中利用ashx实现图片防盗链代码
- asp.net实现图片、文件防盗链程序
- ASP.NET 图片防盗链的实现原理分析
- 持续集成学习笔记-入门篇(8)成果管理自动化(二):maven项目站点管理
- 小米1代成本到底多少钱?一笔一划算出来!
- Block media recovery BMR OCP-043
- ARM Cortex-M3 学习笔记(2)
- 详解java类的生命周期
- asp.net 图片防盗链
- 坐标变换
- Android开发之onClick事件的三种写法
- 修饰符
- Java背后的秘密之虚拟机的组成部件02
- linux 串口编程
- CreateEvent的用法
- 读取xls文件示例
- C#中调用PDFCreator生成PDF文件