亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

Asp.net防止盜鏈的實現原理分析

2024-07-10 13:25:17
字體:
來源:轉載
供稿:網友
如果被引用的站比較小這樣外站盜鏈帶來的“無作用”流量就給站長帶來了壓力了(流量也是要錢滴)。對于防盜鏈可以從兩個方面來防,一個是服務器,一個是程序里面判斷。各個服務器的判斷不一樣,iis需要安裝特定的防盜鏈軟件。我們今天主要討論的是程序里實現防盜鏈。

原理解釋

網上現在比較流行的是使用handler來實現防盜鏈。具體的意思如下:專門新建一個針對某種文件請求的處理類(繼承于IHttpHandler)并在 web.config里面配置好所有的該文件請求都指向該類。然后在類里面判斷該請求的前一次請求是不是存在并且指向我們站的域名,如果存在則認為不是盜鏈,返回真實的文件。否則返回error圖片。

讓我們設想一下如果現在另外一個網站引用了我們站的圖片,并應用到了一篇文章當中?,F在有個人請求那個網站的文章,用戶的request是向他們的服務器發出的,他們站的服務器返回html讓瀏覽器解析。瀏覽器解析到我們的圖片地址時他會向我們站發起這個圖片的請求。因為我們程序的設置這個請求會被轉發到我們特定的類做處理,程序判斷這個request前面的請求是不是為空(顯然它只請求了我們的圖片其他沒有請求,所以當然沒有前面的請求),為空則返回 error圖片。理解了上面的過程就容易知道為什么請求我們站的那個網頁時里面的圖片則正確顯示了,用戶顯示request了那個頁面,所以里面當然有前面訪問的記錄。當瀏覽器解析我們站的圖片時候就正確返回了。不知道大家懂了沒呢?

代碼實現

首先創建一個類繼承于IHttpHandler,我這里就叫做ForbiddenInvaliteDownload類了:
代碼

復制代碼 代碼如下:


public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
if (null != context.Request.UrlReferrer)
{
context.Response.Expires = 0;
context.Response.Clear();
context.Response.ContentType = "image/jpg";
context.Response.WriteFile(context.Request.PhysicalPath);
context.Response.End();
}
else
{
context.Response.Expires = 0;
context.Response.Clear();
context.Response.ContentType = "text/html";
context.Response.Write("盜鏈");
context.Response.End();
}
}


代碼很少,大家一看就明白了。就是用context.Request.UrlReferrer這個判斷一下前面一個請求是否存在,存在則認為是合法的,否則不合法。
僅僅是這個類還不能將所有的jpg請求轉發過來,我們需要配置一下webconfig,在System.Web下配置:
代碼

復制代碼 代碼如下:


<httpHandlers>
<add verb="*" path="*.jpg" type="Namespace.ForbiddenInvaliteDownload,Namespace"/>
</httpHandlers>


這里還要提到的是IIS默認是不會為JPG文件發送請求的,而是直接獲取。所以我們還要在iis里面配置一下讓所有的jpg請求都轉發到我們的那個處理程序,而不是iis默認的直接獲得。配置如圖:

Asp.net防止盜鏈的實現原理分析

Asp.net防止盜鏈的實現原理分析


結束了嗎
上面的方式并不能防止迅雷等下載軟件的下載,在迅雷里面輸入這些地址照樣可以下載。如果別的站引用了你的某個.zip的文件鏈接,這樣還是可以直接下載到的。那該如何解決呢?我目前想到的就是加入session驗證。
如果用戶訪問了你的下載頁面則在load里面設置session[“visited”]=”true”,然后在下載里面增加一個session驗證,代碼如下(注意,需要繼承
System.Web.SessionState.IRequiresSessionState才能使用session):
代碼

復制代碼 代碼如下:


if (null != context.Request.UrlReferrer && context.Session["visited"] == "true")
{
context.Response.Expires = 0;
context.Response.Clear();
context.Response.ContentType = "image/jpg";
context.Response.WriteFile(context.Request.PhysicalPath);
context.Response.End();
}
else
{
context.Response.Expires = 0;
context.Response.Clear();
context.Response.ContentType = "image/jpg";
context.Response.WriteFile(context.Request.PhysicalApplicationPath + "Images/2.jpg");
context.Response.End();
}


這樣我們調試的時候調用迅雷下載這個圖片就可以發現session里面是沒有值的,當然就下載error圖片了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久男人av资源网站| yw.139尤物在线精品视频| 欧美性xxxx| 日韩高清中文字幕| 亚洲老司机av| 国产精品永久免费在线| 国产日本欧美一区| 欧美在线视频观看| 久久精品国产成人精品| 日韩av综合网站| 日韩视频―中文字幕| 欧美视频二区36p| 久久亚洲影音av资源网| 亚洲欧美中文日韩v在线观看| 国产精品美女呻吟| 在线播放国产一区中文字幕剧情欧美| 国产欧美精品一区二区三区-老狼| 久久91精品国产91久久跳| 欧美国产视频日韩| 精品视频一区在线视频| 亚洲综合在线中文字幕| 中日韩美女免费视频网址在线观看| 欧美老少配视频| xxxx欧美18另类的高清| 欧美高清激情视频| 97在线视频一区| 69久久夜色精品国产7777| 亚洲成在人线av| 欧美肥臀大乳一区二区免费视频| 精品久久久久久中文字幕一区奶水| 欧美视频在线观看免费| 一本色道久久综合狠狠躁篇怎么玩| 亚洲大胆人体在线| 97精品在线视频| 91性高湖久久久久久久久_久久99| 欧美成人在线免费| 日韩的一区二区| 久久综合免费视频影院| 日本欧美黄网站| 中文字幕在线观看日韩| 亚洲人成电影在线观看天堂色| 亚洲黄色成人网| 久久久国产精品一区| 日韩美女在线看| 亚洲欧美国产精品久久久久久久| 国产精品一区二区三区久久| 欧美www在线| 久久久亚洲精选| 国产一区二区三区高清在线观看| 色www亚洲国产张柏芝| 精品一区二区亚洲| 欧美日韩成人在线播放| 欧美精品videosex性欧美| 久久国产一区二区三区| 久久久精品亚洲| 国产日韩精品视频| 亚洲成人免费网站| 91精品视频在线| 疯狂蹂躏欧美一区二区精品| 日韩国产欧美精品一区二区三区| 日本不卡视频在线播放| 欧美亚洲另类视频| 亚洲精品色婷婷福利天堂| 91深夜福利视频| 91高清免费视频| 在线观看日韩视频| 日韩中文娱乐网| 久久国产加勒比精品无码| 亚洲色图av在线| 欧美色播在线播放| 亚洲国产精品99久久| 久久久噜噜噜久噜久久| 96sao精品视频在线观看| 国产精品va在线播放我和闺蜜| 欧美日韩在线视频一区二区| 北条麻妃一区二区在线观看| 国产精品jizz在线观看麻豆| 美女精品视频一区| 日韩欧美在线观看视频| 久久久国产成人精品| 国产69精品久久久| 国产精品扒开腿爽爽爽视频| 欧美黄色三级网站| 欧美成人免费播放| 欧美性高潮在线| 欧美国产日本高清在线| 欧美日韩在线另类| 欧美极品少妇全裸体| 中文字幕av日韩| 2019中文字幕全在线观看| 日韩免费高清在线观看| 亚洲国产欧美日韩精品| 91成人天堂久久成人| 自拍偷拍亚洲在线| 国产69精品久久久久9| 成人黄色免费片| 国产中文欧美精品| 欧美伦理91i| 国产精品日韩电影| 亚洲在线视频福利| 国产日韩换脸av一区在线观看| yw.139尤物在线精品视频| 国产精品久久久久久久久久东京| 亚洲国产欧美一区二区三区同亚洲| 最新亚洲国产精品| 久久99精品久久久久久噜噜| 国产啪精品视频网站| 国产精品午夜一区二区欲梦| 国产精品久久久久久网站| 日韩精品免费视频| 亚洲天堂免费视频| 国产不卡av在线| 一个人看的www久久| 日韩欧美一区二区三区久久| 国产91色在线播放| 揄拍成人国产精品视频| 欧美日产国产成人免费图片| 欧美日韩中国免费专区在线看| 亚洲欧美中文日韩v在线观看| 欧美大片va欧美在线播放| 一区二区三区久久精品| 国产精品91久久久| 国产成人精彩在线视频九色| 国产精品美女免费| 成人淫片在线看| 欧美裸体xxxx极品少妇| 精品视频久久久久久| 中文字幕亚洲综合久久筱田步美| 色婷婷**av毛片一区| 国产一区深夜福利| 久久久人成影片一区二区三区观看| 精品久久香蕉国产线看观看gif| 欧美在线视频一区| 国产日产欧美a一级在线| 成人亲热视频网站| 国产欧美日韩中文字幕在线| 欧美人在线观看| 美女福利精品视频| 亚洲精品久久在线| 欧美成人免费小视频| 亚洲欧美日韩综合| 欧美一区第一页| 在线不卡国产精品| 欧美日韩国产黄| 日韩av免费在线播放| 久久99久国产精品黄毛片入口| 在线观看日韩av| 中国人与牲禽动交精品| 日韩av在线网址| 国产精品一区二区三区免费视频| 欧美日韩国产综合视频在线观看中文| 亚州成人av在线| 亚洲精品资源美女情侣酒店| 狠狠躁18三区二区一区| 久久亚洲成人精品| 欧美日韩国产123| 日韩av网站大全| 在线观看欧美日韩国产| 亚洲国产精品福利| 久久久之久亚州精品露出| 日韩精品福利网站| 日韩在线视频播放| 亚洲女在线观看| 久久精品国亚洲|