记.Net Framework中wwwroot文件限制用户访问
系列文章列表,点击展示/隐藏
正文
背景
项目.Net Framework做的,已经线上跑了很多年了,突然发现用户上传的文件都被放到了wwwroot//Content/Upload目录,这些文件都是比较重要的,程序用来读取解析数据的,但是被直接可以公开访问了。
其实要改也很简单,代码改一下,文件挪一下位置就可以了,但是如果这样改就是一个线上大Bug裸奔事故。
需求
其实需求比较简单,就是让wwwroot//Content/Upload目录不可以被访问就可以了。
思路
.Net Framework时代其实就有现在.Net Core中间件的这种雏形。
public class MimeMappingModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PostResolveRequestCache += (sender, e) =>
{
var app = (HttpApplication)sender;
var response = app.Response;
var filePath = app.Request.FilePath;
if(filePath.Contains("/Content/Upload"))
{
response.StatusCode = 404;
response.End();
}
};
}
public void Dispose() { }
}
<system.webServer>
<modules>
<add name="MimeMappingModule" type="WebApplication4.MimeMappingModule, WebApplication4"/>
</modules>
</system.webServer>
分类:
C# 知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
2023-09-25 实现自定义 .NET 缓存策略以提高应用性能
2023-09-25 在 .NET 中实现基于角色的权限控制
2023-09-25 在 .NET 中使用策略模式优化业务逻辑