zoukankan      html  css  js  c++  java
  • 全局图片防盗链处理

    概念:防盗链是指用户不经过我们的网站直接访问我们的图片  我们给他一个错误的图片处理
    原理:获取当前与上一次请求的url   对其进行网站域名与端口号比较  如果相同则返回真实图片(如果从别的网站链接过来不可能返回true)否则返回错误图片
    过程:
    1、新建一个一般处理程序处理
    2、在webconfiguration中添加httpHandlers节点信息
     
    public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType="image/jpeg";
            //当前请求
            Uri url = context.Request.Url;
            //上一次请求
            Uri referrer = context.Request.UrlReferrer;
            if (CompareUrl(url,referrer))
            {
                //合法
                //string path = context.Request.MapPath(context.Request.RawUrl);
                context.Response.WriteFile(url.AbsoluteUri);
            }
            else
            {
                string path = context.Request.MapPath("daolian.jpg");
                context.Response.WriteFile(path);
            }
        }
     
        private bool CompareUrl(Uri u1, Uri u2)
        {
            return Uri.Compare(u1, u2, UriComponents.HostAndPort, UriFormat.SafeUnescaped, StringComparison.CurrentCultureIgnoreCase) == 0;
        }
    一般处理文件
     <system.web>
           <httpHandlers>
          //此处的type中全写  第一个参数是 命名空间+类 第二个参数是程序集名称  path为访问哪个文件夹中的文件 
            <add verb="*" type="FangDaoLian" path="images/*.jpg"/>
          </httpHandlers>
     </system.web>
    Webconfig
  • 相关阅读:
    OCP-1Z0-053-V12.02-655题
    OCP-1Z0-053-V12.02-656题
    OCP-1Z0-053-V12.02-639题
    EXCEL文件打开缓慢的问题解决
    IOCP底层,支持超过15000个连接
    OCP-1Z0-053-V12.02-340题
    OCP-1Z0-053-V12.02-338题
    OCP-1Z0-053-V12.02-336题
    OCP-1Z0-053-V12.02-334题
    OCP-1Z0-053-V12.02-333题
  • 原文地址:https://www.cnblogs.com/netaming/p/4489233.html
Copyright © 2011-2022 走看看