HttpHandler應用之 - 防止圖片盜鏈
httpHandler 是特別類的一種,可以處理對特定型別檔案的請求。實際上甚至可以通過建立自己的處理器來處理對.aspx 頁面的請求,將整個頁面的處理系統換掉。下面我們就用HttpHandler 來防止圖片盜鏈。
程式碼:
using System; using System.Web;
namespace HttpHandlerDemo { public class JpgHandler:IHttpHandler { #region IHttpHandler 成員
public bool IsReusable { get { return true; } }
public void ProcessRequest(HttpContext context) { string fileName = context.Request.FilePath; if (context.Request.UrlReferrer.Host == null) { context.Response.ContentType = "image/JPEG"; context.Response.WriteFile("/no.jpg"); } else { if (context.Request.UrlReferrer.Host.IndexOf("localhost") >= 0) { context.Response.ContentType = "image/JPEG"; context.Response.WriteFile(fileName); } else { context.Response.ContentType = "image/JPEG"; context.Response.WriteFile("/no.jpg"); } } }
#endregion } }
|
為了ASP.NET能和HttpHandler 通訊,必須實現 IHttpHandler 介面的所有成員。
1、 ProcessRequest() 方法是處理請求並作出響應的地方。
2、 IsReusable 屬性告訴 ASP.NET 是否該 HttpHandler 例項能被多個請求複用,或者它是否應每次都建立一個新的例項。通常該屬性設為 true 。設為 false 的場景為,希望當某個使用者的特定操作在處理器中發生時不希望下一位使用者接著使用。
做完了上面的工作,還需要在 web.config 檔案中相關部分新增該 HttpHandler 到應用程式中。
格式如下:
<httpHandlers> <add verb="*" path="*.jpg"type="MyClass,MyDll"/> httpHandlers> |
Verb 屬性表明了包含的請求型別(GET、POST)可以使用萬用字元 “*” 表示接受所有請求。
Path 描述了請求檔案的路徑。
Type 指定了實現 IHttpHandler 的類,以及其所在程式集名稱。這裡要注意的是類名必須是完全名稱,即需要包括名稱空間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-621637/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .htaccess 防止圖片盜鏈
- HttpHandler給本站加圖片水印HTTP
- [精選] 用PHP做圖片防盜鏈,你再也盜不了圖片了?PHP
- Vue專案圖片加密處理,防止直接在網頁上盜圖。Vue加密網頁
- 微信文章圖片防盜鏈處理方法
- 利用Referer請求頭防止“盜鏈”-JavawebJavaWeb
- 傳說中圖片防盜鏈的愛恨情仇
- 微信圖片防盜鏈解決方案:自建代理繞過限制。
- 響應式圖片(自適應圖片)
- M3u8或者ts協議的直播流影片,如何透過加密防止盜鏈和盜播?協議加密
- 以Referer方案寫一個圖片防盜鏈服務並實現網頁端"破解"網頁
- 以Referer方案寫一個圖片防盜鏈服務並實現網頁端”破解”網頁
- 如何防止他人竊取我的原始碼或圖片?原始碼
- Nginx 防盜鏈Nginx
- 為什麼必須防止供應鏈攻擊?
- http-proxy-middleware外掛解決開發中跨域、鑑權、圖片防盜鏈問題HTTP跨域
- 【建站教程】網站引用三方圖片遇到簡單防盜鏈referer的處理辦法網站
- 【學習圖片】10.響應式圖片
- 圖片自適應
- 構建安全程式碼 防止供應鏈攻擊
- Spring WebFlux之HttpHandler的探索SpringWebUXHTTP
- node實現防盜鏈
- 熱搜第一!QQ大批賬號被盜、傳送不雅圖片
- 防盜鏈的實現方法
- Nginx——優化與防盜鏈Nginx優化
- VS生成CordovaforAndroid應用之GradleAndroidGradle
- Nginx最佳化與防盜鏈Nginx
- 海爾的JIT應用之旅
- KGB知識圖譜的應用之路-增強大資料分析能力大資料
- 【Python】Pandas+Seaborn應用之簡單資料整理+橫向條形圖Python
- 如何取消以太坊智慧合約授權,防止被黑客盜取Token?黑客
- Markdown高階使用之流程圖流程圖
- bootstrap的圖片自適應屬性boot
- Python《必應bing桌面圖片爬取》Python
- 一文搞定防盜鏈設計
- 國產github崩了?是防盜鏈啦~Github
- Nginx網頁優化與防盜鏈Nginx網頁優化
- 如何用區塊鏈防止學歷造假?區塊鏈
- 圖片抓取_千圖網圖片抓取