中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      asp.net中利用ashx實現圖片防盜鏈代碼

      時間:2024-07-19 05:49:57 ASP 我要投稿
      • 相關推薦

      asp.net中利用ashx實現圖片防盜鏈代碼

        直接分析盜鏈原理:看下面用httpwatch截獲的http發送的數據

        GET /Img.ashx?img=svn_work.gif HTTP/1.1

        Accept: */*

        Referer: /

        Accept-Language: zh-cn

        UA-CPU: x86

        Accept-Encoding: gzip, deflate

        User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)

        Host:

        Connection: Keep-Alive

        該數據包表示請求/Img.ashx?img=svn_work.gif文件。我們可以看到Referer表示上一頁請求頁面地址,也就是文件來源。Host表示當前請求的主機地址。

        下面是一個盜鏈的數據包

        GET /Img.ashx?img=svn_work.gif HTTP/1.1

        Accept: */*

        Referer: http://745.cc/

        Accept-Language: zh-cn

        UA-CPU: x86

        Accept-Encoding: gzip, deflate

        User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)

        Host:

        Connection: Keep-Alive

        我們可以看到,上面兩個數據,表示對于同一個文件:/Img.ashx?img=svn_work.gif的請求過程,這里的不同就是Referer,也就是都是請求同一個文件,但是請求的來源是不同的。因此我們可以在程序里判斷是否是來源于當前服務器,來判斷是否是盜鏈。明白原理以后,實現防盜鏈就非常簡單了。下面以圖片防盜鏈來實現一個演示。ASP.NET中添加一個img.ashx文件,然后后臺代碼如下:

        復制代碼 代碼如下:

        using System;

        using System.Collections;

        using System.Data;

        using System.Web;

        using System.Web.Services;

        using System.Web.Services.Protocols;

        namespace GetImage

        {

        ///

        /// $codebehindclassname$ 的摘要說明

        ///

        [WebService(Namespace = "http://tempuri.org/")]

        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

        public class Img : IHttpHandler

        {

        public void ProcessRequest(HttpContext context)

        {

        context.Response.ContentType = "image/jpg";

        if (context.Request.UrlReferrer != null && context.Request.UrlReferrer.Host.Equals(context.Request.Url.Host, StringComparison.InvariantCultureIgnoreCase))

        context.Response.WriteFile(context.Server.MapPath("~/" + context.Request.QueryString["img"]));

        else

        context.Response.WriteFile(context.Server.MapPath("~/logo.gif"));

        }

        public bool IsReusable

        {

        get

        {

        return false;

        }

        }

        }

        }

        表示如果來源不為空,并且來源的服務器和當前服務器一致,那就表示是正常訪問,非盜鏈。正常訪問文件內容。

        否則就是盜鏈,返回網站LOGO。

        你甚至可以做成隨機返回正確的圖片,隨機返回錯誤圖片,或者定時返回正確圖片,定時返回錯誤圖片。

        然后就是圖片的使用了,這時使用圖片就不是直接了,而是,就是說通過img,ashx來讀取圖片。別人盜鏈的話要用代碼。

      【asp.net中利用ashx實現圖片防盜鏈代碼】相關文章:

      防盜鏈接ASP函數實現代碼01-23

      關于ASP.NET使用JavaScript顯示信息提示窗口實現原理及代碼05-09

      JavaScript實現網頁刷新代碼段08-07

      將php實現過濾UBB代碼09-11

      ASP.NET連SQL7接口的源代碼06-06

      Java中的動態代碼編程06-27

      在Java中執行JavaScript代碼07-14

      常用排序算法之JavaScript實現代碼段06-04

      關jQuery彈出窗口簡單實現代碼-javascript編程06-07

      cad中怎么導入圖片09-14

      主站蜘蛛池模板: 美女窝人体色www网站| 中文字幕人妻丝袜成熟乱| 亚洲国产精品久久九色| 国产亚洲午夜高清国产拍精品不卡| 欧美h久免费女| 69堂在线无码视频2020| 霍州市| 太白县| 国产偷闻隔壁人妻内裤av| 午夜亚洲精品中文字幕| 久久99一本色道亚洲精品| 精品人妻中文字幕一区二区三区| 韩日无码不卡| 无码视频一区=区| 新乡县| 福建省| 临朐县| 奉新县| 阳原县| 精品在免费线中文字幕久久| 泊头市| 99精品视频69v精品视频免费| 黎川县| 熟妇与小伙子露脸对白| 国产91九色在线观看| 珲春市| 久久青草国产免费观看| 林甸县| 亚洲AV无码成人精品区日韩密殿| 精品免费一区二区三区在| 精品人妻av一区二区三区不卡| 人人妻人人澡av| 免费人妻精品一区二区| 久久久久久久久国内精品影视 | 成人影院免费观看在线播放视频 | 亚洲一区精品一区在线观看| 国产优质女主播在线观看| 久久精品国产亚洲av高清四虎| 蜜桃在线一区二区三区| 成年女性毛片在线观看| 亚洲一区二区三区最新|