服务器是IIS7。
有没有办法禁用子文件夹中的 web.config 文件?
我这么问是因为,我在网络服务器上有一个用于上传的文件夹。当有人上传文件时,系统会为用户 session 创建一个新文件夹,他们上传的文件将放入该文件夹中。
所以上传的路径是这样的: 〜/uploads/3F2504E0-4F89-11D3-9A0C-0305E82C3301/somefile.txt
在 ~/uploads/目录中有一个 web.config 文件,它删除了除静态文件处理程序之外的所有 http 处理程序,并添加了通配符 mime 类型。因此,用户上传的每个文件都只能静态提供。
如果用户上传 web.config 文件,我想禁止应用该文件中的任何设置。
我该怎么做?
编辑
我是否可以将上传文件夹作为应用程序池的成员,配置为在经典模式而不是集成管道模式下运行?这样它甚至不会关心 web.config 文件。
编辑2
我可以安装另一种类型的网络服务器来静态提供所有文件吗?我可以通过不同的端口访问这些文件。是否有一些软件我可以确定不会运行任何脚本并且是安全的。
最佳答案
我根本不允许他们上传具有该名称的文件。事实上,我通常不会信任用户给我的任何文件名...非常适合注入(inject)式攻击。
关于ASP.NET Web.config 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278800/