基于HttpHandler对象实现网页防盗链功能
Posted In Sec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于HttpHandler对象实现网页防盗链功能相关的知识,希望对你有一定的参考价值。
实现思路:创建HttpHandler类,继承IHttpHandler接口
我使用的是Asp.Net Web窗体程序 创建一个Web窗体添加三张图片
<div class="imgbox1">
<p>
<img src="images/1b3aa226fd7baf2ca603ba356778dc23.jpeg"/>
<img src="images/7da87c4cbd9fdcafe29fd7cb4eeaf995.jpeg"/>
<img src="images/ef4fbaaf38a15ffe6781647db521324e.jpeg"/>
</p>
</div>
样式
<style>
.imgbox1
height:500px;
.imgbox1 p
text-align:center;
</style>
编写HttpHandler类
public class PreventLink : IHttpHandler
public bool IsReusable
get return true;
public void ProcessRequest(HttpContext context)
Uri lastUrl = context.Request.UrlReferrer;
Uri currentUrl = context.Request.Url;
if (lastUrl.Host != currentUrl.Host || lastUrl.Port != currentUrl.Port)
string errorImagePath = context.Request.PhysicalApplicationPath + "Error/default.jpg";
context.Response.WriteFile(errorImagePath);
else
context.Response.WriteFile(context.Request.PhysicalPath);
在Web.config配置文件中添加配置文件
<system.webServer>
<handlers>
<add verb="*" path="images/*.jpeg" type="PreventLink" name="plink" />
</handlers>
</system.webServer>
在IIS中新建一个盗链网页Web,图片地址来自第一个网页的绝对地址
<p>以下内容来自盗图网,如有侵权,请联系删除,联系方法:XXXXXX</p>
<p>
<img src="https://localhost:44347/images/1b3aa226fd7baf2ca603ba356778dc23.jpeg"/>
<img src="https://localhost:44347/images/7da87c4cbd9fdcafe29fd7cb4eeaf995.jpeg"/>
<img src="https://localhost:44347/images/ef4fbaaf38a15ffe6781647db521324e.jpeg"/>
</p>
以上是关于基于HttpHandler对象实现网页防盗链功能的主要内容,如果未能解决你的问题,请参考以下文章