asp.net HttpHandler實(shí)現(xiàn)圖片防盜鏈
using System;
using System.Web;
namespace CustomHandler{
public class JpgHandler : IHttpHandler{
public void ProcessRequest(HttpContext context){
// 獲取文件服務(wù)器端物理路徑
string FileName = context.Server.MapPath(context.Request.FilePath);
// 如果UrlReferrer為空,則顯示一張默認(rèn)的禁止盜鏈的圖片
if (context.Request.UrlReferrer.Host == null){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}else{
// 如果 UrlReferrer中不包含自己站點(diǎn)主機(jī)域名,則顯示一張默認(rèn)的禁止盜鏈的圖片
if (context.Request.UrlReferrer.Host.IndexOf("yourdomain.com") > 0){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile(FileName);
}else{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg");
}
}
}
public bool IsReusable{
get{ return true; }
}
}
}
Step.2 編譯這個(gè)文件
csc /t:library /r:System.Web.dll CustomHandler.cs
Step.3 將編譯好的 CustomHandler.dll 拷貝到站點(diǎn)的 Bin 目錄下。
Step.4 在Web.Config 中注冊(cè)這個(gè)Handler。
<system.web>
<httpHandlers>
<add path="*.jpg" verb="*" type="CustomHandler.JpgHandler, CustomHandler" />
</httpHandlers>
</system.web>
OK,諸位可以按步驟自行測(cè)試一下,這里就不贅述了。
相關(guān)文章
JS正則表達(dá)式學(xué)習(xí)之貪婪和非貪婪模式實(shí)例總結(jié)
這篇文章主要介紹了JS正則表達(dá)式學(xué)習(xí)之貪婪和非貪婪模式用法,結(jié)合實(shí)例形式總結(jié)分析了JS正則表達(dá)式中貪婪模式與非貪婪模式的具體功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12Javascript 正則表達(dá)式校驗(yàn)數(shù)字的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇Javascript 正則表達(dá)式校驗(yàn)數(shù)字的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11Nuxt默認(rèn)模板、默認(rèn)布局和自定義錯(cuò)誤頁(yè)面的實(shí)現(xiàn)
這篇文章主要介紹了Nuxt默認(rèn)模板、默認(rèn)布局和自定義錯(cuò)誤頁(yè)面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05JS實(shí)現(xiàn)網(wǎng)頁(yè)表格自動(dòng)變大縮小的方法
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁(yè)表格自動(dòng)變大縮小的方法,實(shí)例分析了javascript操作表格的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03JS實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法分析
這篇文章主要介紹了JS實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法,結(jié)合實(shí)例形式分析了javascript字符串使用reverse方法、字符串遍歷方法以及針對(duì)輸入字符串的遍歷、逆序輸出等方法實(shí)現(xiàn)字符串反轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下2018-08-08JavaScript 中的輸出數(shù)據(jù)多種方式
在 JavaScript 中,不像 Java 等語(yǔ)言,它沒有任何打印或者輸出方法的,在js中通過(guò)使用4種方式來(lái)輸出數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹,感興趣的朋友跟隨小編一起看看吧2022-03-03一文帶你掌握J(rèn)avaScript中的箭頭函數(shù)
在JavaScript中,箭頭函數(shù)是一種簡(jiǎn)化的函數(shù)語(yǔ)法,它在ES6(ECMAScript?2015)引入,本文就來(lái)和大家深入講講JavaScript中的箭頭函數(shù)的使用吧2023-05-05JS多個(gè)異步請(qǐng)求 按順序執(zhí)行next實(shí)現(xiàn)解析
這篇文章主要介紹了js多個(gè)異步請(qǐng)求 按順序執(zhí)行next實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09js實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)小功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09