GET /Img.ashx?img=svn_work.gif HTTP/1.1 Accept: */* Referer: http://www.jb51.net/ Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, def " /> 亚洲 欧美 国产 综合不卡,www.三级,亚洲精品中文字幕在线

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net中利用ashx實現圖片防盜鏈的原理分析

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

GET /Img.ashx?img=svn_work.gif HTTP/1.1
Accept: */*
Referer: http://www.jb51.NET/
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: www.jb51.NET
Connection: Keep-Alive


該數據包表示請求http://www.jb51.NET/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: www.jb51.NET
Connection: Keep-Alive

我們可以看到,上面兩個數據,表示對于同一個文件:http://www.jb51.NET/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
{
/// <summary>
/// $codebehindclassname$ 的摘要說明
/// </summary>
[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。

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

然后就是圖片的使用了,這時使用圖片就不是直接<input type="image" src="svn_work.gif" />了,而是<input type="image" src="/Img.ashx?img=svn_work.gif" />,就是說通過img,ashx來讀取圖片。別人盜鏈的話要用下面代碼:<input type="image" src="http://www.jb51.NET/Img.ashx?img=svn_work.gif" />。

趕緊給自己的網站加上防盜鏈吧!

AspNet技術asp.net中利用ashx實現圖片防盜鏈的原理分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99re10久久热 | 樱花草在线观看影院 | 亚洲精品一二三 | 亚洲H成年动漫在线观看不卡 | 国产精品18久久久久网站 | china chinese中国人玩 | 最近中文字幕MV免费高清视频8 | 俄罗斯摘花 | 国产亚洲精品久久久999蜜臀 | 杨幂视频在线观看1分30秒 | 爱穿丝袜的麻麻3d漫画acg | 被男按摩师添的好爽在线直播 | 国产人妻精品久久久久久很牛 | 在线观看免费视频a | 黑人干日本美女 | www.中文字幕在线观看 | 99久久香蕉国产线看观看 | 涩涩视频www在线观看入口 | 国产三级视频在线 | 日本高清免费在线 | 亚洲AV无码乱码A片无码蜜桃 | 美女被艹网站 | 亚洲人女同志video | 人妻美妇疯狂迎合 | 噼里啪啦免费观看视频大全 | 九九国产精品成人AV麻豆 | 浴室里强摁做开腿呻吟的漫画男男 | 父亲在线日本综艺免费观看全集 | 快播电影网址 | 在线亚洲色拍偷拍在线视频 | 欧美丰满熟妇BBB久久久 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 国产国产成人人免费影院 | 哒哒哒高清视频在线观看 | 偷窥 亚洲 色 国产 日韩 | 欧式午夜理伦三级在线观看 | 日本经典片免费看 | 国产精品九九久久精品视 | 久久亚洲精品AV成人无 | 肉蒲团从国内封禁到日本成经典 | 男人都懂www深夜免费网站 |