zoukankan      html  css  js  c++  java
  • 网站防盗链就是那么简单

    第一步 : 实现 IHttpHandler 接口

        

    namespace WebHotlinkProtection
    {

        public class HotlinkProtectionHandler:IHttpHandler
        {
            public bool IsReusable
            {
                get { throw new NotImplementedException(); }
            }

            public void ProcessRequest(HttpContext context)
            {
                //监听是否本站发起的请求
               if (!context.Request.UrlReferrer.Host.StartsWith("localhost"))
                {
                    context.Response.Expires = 0;
                    context.Response.Clear();
                    context.Response.ContentType = "image/jpg";
                    //输出防盗链图片
                    context.Response.WriteFile(context.Request.PhysicalApplicationPath + "\\no.jpg");
                    context.Response.End();
                }
                else
               { 
                    context.Response.Expires = 0;
                    context.Response.Clear();
                    context.Response.ContentType = "image/jpg";
                    context.Response.WriteFile(context.Request.PhysicalPath);
                    context.Response.End();
                }
            }
        }
    }

    第二部:配置web.config

          <httpHandlers>
              <add verb="*" path="*.jpg" type="WebHotlinkProtection.HotlinkProtectionHandler,WebHotlinkProtection"/>
          </httpHandlers>
  • 相关阅读:
    面向对象二 — — static、final、常量的初始化、this和super
    面向对象二 — — 继承、抽象类、接口
    面向对象一基础知识
    JDBC简介及其用Java连接数据库
    Java I/O 几个重要流的应用
    GUI Panel 容器以及布局管理器
    Oracle 数据库一
    Java I/O文件拷贝
    Java I/O文件的过滤 、读取、写入
    简单理解io与nio
  • 原文地址:https://www.cnblogs.com/rhythmK/p/2476192.html
Copyright © 2011-2022 走看看