图片防盗链

虽然这个很多人有讲到了,一搜一大把!现在写主要是以后要用不用在去找了

新建一个类库AvoidImage 继承IHttpHandler,记得引用System.Web

 

class  AvoidImage : IHttpHandler
    {

        
#region  IHttpHandler 成员

        
public   bool  IsReusable
        {
            
// get { throw new NotImplementedException(); }
             get  {
                
return   true ;
            }
        }

        
#endregion
        
public   void  ProcessRequest(HttpContext context)
        {
            Uri urlreferrer 
=  context.Request.UrlReferrer; // 访问来源地址
             string  ip  =  context.Request.UserHostAddress; // 访问来源Ip地址
             string  serverhost  =  context.Request.Url.Host; // 当前访问主机地址
             string  localIp  =  ConfigurationManager.AppSettings[ " LocalIP " ];
            
if  (urlreferrer  ==   null   ||  urlreferrer.Host.ToLower()  !=  serverhost.ToLower()  ||  ip  !=  localIp)
            {
                context.Response.WriteFile(
" ~/images/index_adr11.gif " );
            }
            
else
            {
                context.Response.WriteFile(context.Request.PhysicalPath);
            }
        }
    }

 

 

default.aspx

 

< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
    
< img  src ="images/Advertise_1.jpg"   />
    
</ div >
    
</ form >
</ body >

 

 

这样当主机头不对或ip不对就看不到那张图片,显示的是我们的默认图,下载下来也是默认图片

来自http://www.cnblogs.com/cyq1162/archive/2010/08/26/1809169.html

转载于:https://www.cnblogs.com/linlin/archive/2010/09/06/1818822.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值