c# - 包含随机文件扩展名的 asp.net mvc 安全文件夹
问题描述
我正在开发 Asp.net MVC 应用程序。应用程序包含一个需要防止未经授权访问的文件夹。客户可以将具有任何扩展名的文件复制到此文件夹。客户不希望未经授权的人(未登录的人)通过直接访问浏览器 URL 中的文件来下载文件。
我不能使用 httpHandler,因为我们事先不知道文件的扩展名。我还尝试 <deny users="?"/>
在其授权部分保留单独的 web.config。但它仅适用于已知扩展名,对于未知扩展名,它会给出以下错误,
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.
有人可以建议如何处理这种情况吗?
谢谢。
解决方案
您可以将它们作为二进制数组存储在数据库中,而不是将服务器上的物理文件存储在安全文件夹中。然后使用通用处理程序来获取文件。
例如:https ://example.com/SecuredFolder/Readfile?id=12345
然后,您可以Content-Type
以编程方式在响应中设置 。
推荐阅读
- javascript - 有没有办法使用 quick.db 制作 discord.js 日志系统
- javascript - 如何使用 useLocation 路由到新布局?
- json - 如何使用 jq 流模式为每个字典添加新密钥
- javascript - 动态地将属性绑定到类
- html - Ant 设计响应式菜单
- angular - 传递参数仅适用于 html 不适用于 .ts
- python - 当我希望它在随机颜色生成器游戏中停止时,循环无限地进行
- javascript - 如何使用属性选择器查找属性包含反斜杠 [\] 的元素
- python - 加载为“python3 -m mypackage”时对包进行特殊初始化
- mysql - SQL UPDATE 两表之间多行匹配数据