English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> 解析asp.net防盗链技术

 

解析asp.net防盗链技术

威盾防火墙 2015-01-15

 

防盗链技术可以有效的解决网站访问量不大,但压力比较大的问题。现在以.jpg文件为例,在asp.net里如何实现防盗链技术。

  新建一个asp.net网站,添加两个图片文件:right.jpg,error.jpg,right.jpg为本站显示的正确的图片,error.jpg为其他网站访问时的错误图片。

  Default.aspx放置如下代码:

以下是代码片段:
<asp:Image ID="Image1" runat="server" Height="179px" ImageUrl="~/right.jpg" Width="197px" />

  新建Handler.cs类,代码如下:

以下是代码片段:
using System; 
using System.Web; 

public class Handler : IHttpHandler { 

public void ProcessRequest (HttpContext context) { 

context.Response.Expires = 0; 
context.Response.Clear(); 
context.Response.ContentType = "image/jpg"; 

if (context.Request.UrlReferrer.Host == "localhost") 
{ 

context.Response.WriteFile(context.Request.PhysicalPath); 
context.Response.End(); 
} 
else 
{ 
context.Response.WriteFile(context.Request.PhysicalApplicationPath+"error.jpg"); 
context.Response.End(); 
} 
} 

public bool IsReusable { 
get { 
return true; 
} 
} 

}

  在web.config的节点中添加以下代码:

以下是代码片段:
<add verb="*" path="*.jpg" type="Handler"/>

  调试该程序,图片将显示正常的图片。

  将代码 if (context.Request.UrlReferrer.Host == "localhost")中的"localhost"给为其他字符,调试程序,将显现error.jpg

  这样就达到了我们所说的图片防盗链技术了。

  现在来说下如何在IIS中也显现这种效果。

  选择网站->右键点击属性->点击虚拟目录->配置->映射->添加

  按如图所示添加,可执行文件选择:

  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

  这样你的网站也实现了防盗链技术。


相关内容: 最新内容:
初识防盗链技术[2015-01-15]
Apache 防盗链[2015-01-14]
图片防盗链[2015-01-14]
部分网站允许空白referer的防盗链图片的js破解代码[2015-01-14]
dedecms图片防盗链的办法——修改.htaccess[2015-01-14]
我来教你玩转MYIIS-VIF 防盗链 基础防盗链[2015-01-14]
初识防盗链技术[2015-01-15]
Apache 防盗链[2015-01-14]
图片防盗链[2015-01-14]
部分网站允许空白referer的防盗链图片的js破解代码[2015-01-14]
实现首页DIGG调用方法[2015-01-14]
dedecms图片防盗链的办法——修改.htaccess[2015-01-14]