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>
  • 相关阅读:
    Kaldi的data目录解析
    Kaldi的nnet3
    Kaldi中的Chain模型
    Karel版本的nnet1
    Dan版本的nnet2
    MFCC/Filter Bank的提取流程
    【算法专题】工欲善其事必先利其器—— C++ STL中vector(向量/不定长数组)的常用方法总结
    App 设计技巧
    js判断是否在微信浏览器中打开
    WebApi 跨域
  • 原文地址:https://www.cnblogs.com/rhythmK/p/2476192.html
Copyright © 2011-2022 走看看