zoukankan      html  css  js  c++  java
  • httphandler防图片盗链

    最近学习了一下httphandler的相关知识,做了一个防图片盗链的小例子.

    关于httphandler的基本的介绍和技术原理就不介绍了,请谷歌搜索.

    首先新建一个Asp.net Web 应用程序,命名为HttpHandlerDemo.

    在HttpHandlerDemo中添加Image图片文件夹,放入几张图片,其中一张图片是缺省的图片,一张图片是发生盗链时的图片.

    在解决方案下面添加一个类库项目,命名为CustomHttpHandler.

    在CustomHttpHandler项目中添加CustomHandler.cs代码文件,内容如下:

    View Code

    在HttpHandlerDemo项目中添加对CustomHttpHandler项目的引用.

    在HttpHandlerDemo项目中的Web.config文件中添加如下配置:

    View Code

    修改HttpHandlerDemo项目中Default.aspx页面,代码如下:

    View Code

    这里第二个img的src="http://192.168.3.183/HttpHandlerDemo/Image/girl4.jpg",这个地址是发布到我本机iis后的地址,注意改成你的机器ip或者localhost.

    现在将HttpHandlerDemo项目发布到iis上.

    做完这些步骤,自己写的httphandler还无法发挥作用.需要在iis中添加.jpg的映射,告诉iis如何处理.jpg的请求.

    在HttpHandlerDemo虚拟目录上右键->属性->ASP.NET,查看一下ASP.NET版本,记下版本号.然后选择虚拟目录选项卡,点击右下角的配置->映射->添加,在可执行文件中选择跟你ASP.NET版本相对应的aspnet_isapi.dll,一定要选对版本,如果没选对,httphandler是不会起作用的.比如:

    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,扩展名输入.jpg,然后确定.

    现在浏览HttpHandlerDemo项目中Default.aspx页,可以看到能够正常显示两张图片.如果在浏览器中直接输入图片地址,如

    "http://192.168.3.183/HttpHandlerDemo/Image/girl4.jpg",将会看到防盗链那张图片,如果其他网站引用了这个地址,也会显示防盗链的那张图片.

    代码下载:点击下载

  • 相关阅读:
    Jzoj5422 天才绅士少女助手克里斯蒂娜
    Jzoj5422 天才绅士少女助手克里斯蒂娜
    Jzoj5421 嘟嘟噜
    Jzoj5421 嘟嘟噜
    Jzoj5460【NOIP2017提高A组冲刺11.7】士兵训练
    Jzoj5460【NOIP2017提高A组冲刺11.7】士兵训练
    Jzoj5459【NOIP2017提高A组冲刺11.7】密室
    PAT甲级——A1046 Shortest Distance
    PAT甲级——A1045 Favorite Color Stripe
    PAT甲级——A1044 Shopping in Mars
  • 原文地址:https://www.cnblogs.com/xiaobaihome/p/2614933.html
Copyright © 2011-2022 走看看