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>
  • 相关阅读:
    db2 v11 安装测试
    DB2支持的三种表空间SMS、DMS、DMS的自动存储
    linux几种快速清空文件内容的方法
    修改文件或者文件夹权限
    db2start启动失败
    db2icrt创建实例,提示主机名无效
    浏览器内核以及在各个浏览器的前缀
    程序的三大结构(顺序结构、选择结构、循环结构)
    数组中元素的排序(常用的冒泡排序、选择排序、快速排序)
    数组的api以及api的简单使用
  • 原文地址:https://www.cnblogs.com/rhythmK/p/2476192.html
Copyright © 2011-2022 走看看