日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用HttpHandler实现图片防盗链

發布時間:2025/6/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用HttpHandler实现图片防盗链 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NOTE:這個例子來自于《Maximizing ASP.NET Real World, Object-Oriented Development》一書:

Step.1:創建文件 CustomHandler.cs,代碼如下:

using System;
using System.Web;

namespace CustomHandler{
??? public class JpgHandler : IHttpHandler{
?????? public void ProcessRequest(HttpContext context){
?????????? // 獲取文件服務器端物理路徑
?????????? string FileName = context.Server.MapPath(context.Request.FilePath);
?????????? // 如果UrlReferrer為空,則顯示一張默認的禁止盜鏈的圖片
?????????? if (context.Request.UrlReferrer.Host == null){
????????????? context.Response.ContentType = "image/JPEG";
????????????? context.Response.WriteFile("/error.jpg");
?????????? }else{
????????????? // 如果 UrlReferrer中不包含自己站點主機域名,則顯示一張默認的禁止盜鏈的圖片
???????????? 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 編譯這個文件

csc /t:library /r:System.Web.dll CustomHandler.cs

Step.3 將編譯好的 CustomHandler.dll 拷貝到站點的 Bin 目錄下。

Step.4 在Web.Config 中注冊這個Handler。

<system.web>
??? <httpHandlers>
????? <add path="*.jpg" verb="*" type="CustomHandler.JpgHandler, CustomHandler" />
??? </httpHandlers>
</system.web>

OK,諸位可以按步驟自行測試一下,這里就不贅述了。

轉載于:https://www.cnblogs.com/top5/archive/2009/11/09/1598869.html

總結

以上是生活随笔為你收集整理的使用HttpHandler实现图片防盗链的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。