Net学习日记_ASP.Net_MVC_1

 

 

 

 

图片防盗链发过去一个错误图片同样浪费资源。
 protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var Request = HttpContext.Current.Request;
            if (Request.Url.PathAndQuery.StartsWith("/domDemo2/images/mm/"))//防止美女时钟的图片盗链
            {
                //判断是否盗链
                if (Request.UrlReferrer == null || !IsSameHost(Request.UrlReferrer, Request.Url))
                {
                    HttpContext.Current.Response.Write("请勿直接访问图片,请在美女时钟页面中访问!");
                    HttpContext.Current.Response.End();
                }
            }
        }

        /// <summary>
        /// 判断uri1和uri2是否是在同一台主机上
        /// </summary>
        /// <param name="uri1"></param>
        /// <param name="uri2"></param>
        /// <returns></returns>
        private static bool IsSameHost(Uri uri1, Uri uri2)
        {
            return Uri.Compare(uri1, uri2, UriComponents.Host, UriFormat.SafeUnescaped, StringComparison.CurrentCultureIgnoreCase) == 0;
        }

 

 

 

过滤器

 

 

 

过滤器图和url重写原理

 

posted @ 2018-01-03 17:24  兽人松  阅读(134)  评论(0编辑  收藏  举报