一。使用IHttpHandler防止非法链接
由于资源的限制与保护,现在很多网站都启用了防盗链机制,在ASP.NET实现防盗链其实很轻松,
我写了一个防盗链的IHttpHandler(源码),本人也是新手,希望更位前辈多多指教.
以下是实现步骤:
1.在将生成的eWebapp.NoLink.dll文件拷贝到网站Bin目录.
2.在Web.config 里配置
也可以有Path中配置多种文件格式的过滤,格式如(path="*.jpg,*.bmp,*,exe")
3.在IIS里增加一个应用程序扩展。在“默认网站”->“属性”->“主目录”->“配置”。在弹出的“应用程序配置”窗口里按“添加”,在弹出的“添加/编辑应用程序扩展名映射”窗口里“可执行文件”选择C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,在扩展名里输入“.过滤的文件格式”,然后确定即可。
4.测试吧
------------------------------------------------------
二。以下是一个url重向的例子
web.config中:
相关的类文件:
using System;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.Handlers;
using System.Web.SessionState;

namespace Portal
{
/// <summary>
/// Summary description for TabHttpHandler.
/// </summary>
public class TabHttpHandler : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
string path = context.Request.Url.AbsolutePath.ToLower();
string tabRef = path.Substring(path.LastIndexOf("/") + 1); // get "TabRef.tab"
tabRef = tabRef.Substring(0, tabRef.LastIndexOf(".tab.aspx")); // get "TabRef"

Hashtable r = new Hashtable();
foreach(string key in context.Request.QueryString.Keys)
{
r[key] = context.Request[key];
}

r["TabRef"] = tabRef;

string url = Portal.API.Config.GetMainPage();
bool firstParam = true;
foreach(DictionaryEntry e in r)
{
if(firstParam)
{
url += "?";
firstParam = false;
}
else
{
url += "&";
}
url += e.Key.ToString() + "=" + e.Value.ToString();
}
context.Server.Transfer(url);
}
public bool IsReusable
{
get
{
return true;
}
}
}
}

由于资源的限制与保护,现在很多网站都启用了防盗链机制,在ASP.NET实现防盗链其实很轻松,
我写了一个防盗链的IHttpHandler(源码),本人也是新手,希望更位前辈多多指教.
以下是实现步骤:
1.在将生成的eWebapp.NoLink.dll文件拷贝到网站Bin目录.
2.在Web.config 里配置
<httpHandlers>
<add verb="*" path="*.过滤的文件格式" type="eWebapp.NoLink.IHandler,eWebapp.NoLink"/>
</httpHandlers>
<add verb="*" path="*.过滤的文件格式" type="eWebapp.NoLink.IHandler,eWebapp.NoLink"/>
</httpHandlers>
也可以有Path中配置多种文件格式的过滤,格式如(path="*.jpg,*.bmp,*,exe")
3.在IIS里增加一个应用程序扩展。在“默认网站”->“属性”->“主目录”->“配置”。在弹出的“应用程序配置”窗口里按“添加”,在弹出的“添加/编辑应用程序扩展名映射”窗口里“可执行文件”选择C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,在扩展名里输入“.过滤的文件格式”,然后确定即可。
4.测试吧
------------------------------------------------------
二。以下是一个url重向的例子
web.config中:
<httpHandlers>
<add verb="*" path="*.tab.aspx" type="Portal.TabHttpHandler, Portal" />
</httpHandlers>
<add verb="*" path="*.tab.aspx" type="Portal.TabHttpHandler, Portal" />
</httpHandlers>
相关的类文件:
























































【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架