首页 > 其他分享 >记.Net Framework中wwwroot文件限制用户访问

记.Net Framework中wwwroot文件限制用户访问

时间:2024-09-25 12:45:25浏览次数:7  
标签:wwwroot app Content Framework Net response

背景

项目.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>

标签:wwwroot,app,Content,Framework,Net,response
From: https://www.cnblogs.com/MrChuJiu/p/18431111

相关文章

  • 记.Net Core Host服务使用Dapper内存溢出问题
    背景项目要做一个数据迁移,牵扯大概60多张表,几千万数据,这些数据都被放到了csv文件中并拆分成了10w条记录一个文件。思路是使用.NetCoreHost开一个线程去读取文件夹csv根据业务导入到表就可以。ps:第一次用Dapper做这种处理问题在导入过程中,因为我们的服务器内存只有8G。经常......
  • 使用.NET并行任务库(TPL)与并行Linq(PLINQ)充分利用多核性能
    使用.NET并行任务库(TPL)与并行Linq(PLINQ)充分利用多核性能 前言最近比较闲,(项目要转Java被分到架构组,边缘化人员,无所事事哈哈哈哈)记录一下前段时间用到的.NET框架下采用并行策略充分利用多核CPU进行优化的一个方法起因是项目中有个结算的方法,需要汇总一个月的数据......
  • C#|.net core 基础 - 深拷贝的五大类N种实现方式
    C#|.netcore基础-深拷贝的五大类N种实现方式 合集-C#|.netcore基础(6) 1.C#|.netcore基础-“hello”.IndexOf(“\0”,2)中的坑08-302.C#|.netcore基础-如何判断连续子序列09-033.C#|.netcore基础-值传递vs引用传递09-194.C#|.netcore基础-扩展数......
  • 一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
    一个.NET开源、快速、低延迟的异步套接字服务器和客户端库 思维导航前言项目介绍主要特性功能组件使用示例基准测试项目源代码TCP聊天服务器示例项目源码地址优秀项目和框架精选前言最近有不少小伙伴在问:.NET有什么值得推荐的网络通信框架?今天大姚给大家分......
  • 【深度学习基础模型】径向基函数网络(Radial Basis Function Networks, RBFN)详细理解并
    【深度学习基础模型】径向基函数网络(RadialBasisFunctionNetworks,RBFN)【深度学习基础模型】径向基函数网络(RadialBasisFunctionNetworks,RBFN)文章目录【深度学习基础模型】径向基函数网络(RadialBasisFunctionNetworks,RBFN)1.算法原理介绍:径向基函数网络(R......
  • 使用.NET并行任务库(TPL)与并行Linq(PLINQ)充分利用多核性能
    前言最近比较闲,(项目要转Java被分到架构组,边缘化人员,无所事事哈哈哈哈)记录一下前段时间用到的.NET框架下采用并行策略充分利用多核CPU进行优化的一个方法起因是项目中有个结算的方法,需要汇总一个月的数据在内存中进行计算,统计,分组,然后产生新的数据在某个客户那部署......
  • modbus设备数据 转 profinet IO项目案例
    目录1案例说明12VFBOX网关工作原理13准备工作24设置网关采集MODBUS从站数据25用PROFINETIO协议转发数据86案例总结101案例说明设置网关采集Modbus设备数据把采集的数据转成profinetIO协议转发给其他系统。2VFBOX网关工作原理VFBOX网关是协议转换网关,是把一......
  • BACnet协议(1)
    1、BACnet介绍BACnet(BuildingAutomationandControlNetworks)是一种用于智能建筑的通信协议,它是由国际标准化组织(ISO)、美国国家标准协会(ANSI)和美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。主要用途包括:暖通空调(HVAC)控制:BACnet用于控制和监测暖通空调系统的运行......
  • Nat Genet | 发现8个新基因!外显子组测序揭示罕见编码基因突变对成人认知功能的影响
    认知功能是一种复杂的心理过程,包括注意力、记忆力、处理速度、空间能力、语言和解决问题的能力,很难单独评估。已有研究表明,成人认知功能受到遗传的强烈影响。基于常见变异的全基因组关联研究(GWAS),目前已经确定了近4000个个体效应较小的认知功能基因位点。同时,GWAS还证明了认知功能和......
  • Ubuntu 通过Supervisor 或者 systemd 管理 .Net应用
    在Ubuntu上安装.NET8.0,通过supervisor或systemd管理.NET应用服务,确保应用能够自动启动、运行以及在崩溃时重启。1.安装.NET8.0最新的Ubuntu版本已经不需要注册Microsoft包存储库了,具体的可以参考微软官方文档安装,在Ubuntu上安装.NETSDK或.NET运行时2.使用Sup......