iis - IIS 请求过滤文件扩展名允许带有点的目录
问题描述
我们在 web.config 中对文件扩展名使用请求过滤,如下所示:
<fileExtensions allowUnlisted="false">
<add fileExtension="." allowed="true" />
<add fileExtension=".aspx" allowed="true" />
<add fileExtension=".ashx" allowed="true" />
<add fileExtension=".asmx" allowed="true" />
<add fileExtension=".axd" allowed="true" />
<add fileExtension=".html" allowed="true" />
<add fileExtension=".htm" allowed="true" />
然而我们遇到了一个问题。当我们转到一个带有一个点的目录的 url 时,例如“https://localhost/myamazing.folder”,它会返回一个“HTTP Error 404.7 - Not Found”,因为它现在认为它不是一个扩展名允许。
当 allowUnlisted 设置为 true 或没有任何过滤时,iis 将执行礼貌重定向,因为它是一个文件夹。无论如何在过滤扩展的同时保持这种重定向行为不变?
解决方案
这是 iis 默认安全设置,如果您想允许未指定的扩展,您需要通过使用启用它
另一种方法是设置允许文件扩展名,然后通过以下步骤设置允许 URL:
在“URL”选项卡中允许 URL 列表 -> 添加您只想允许的 URL。这就是它将 URL /myamazing.folder 重定向到 /myamazing.folder/ 的方式
如果您使用的是 asp.net mvc 站点,您可以参考以下链接:
推荐阅读
- unity3d - 在播放模式下省略所有 Debug.Asserts
- ios - 使用verticalAlighment和alignmentGuide对齐视图的底部对齐
- reactjs - 我无法在按钮单击时删除 CRUD 应用程序中的组件
- excel - 需要一个工作表公式来检测单元格中的分隔符是否应该被忽略
- reactjs - 是否可以在滚动的 div 内锚定滚动?
- postgresql - postgresql 查询需要永远
- python - 在 Python Pandas Dataframe 中转换间隔外连接 SQL
- python - 我为 Project Euler 的问题 2 写了一个部分解决方案,但我很难理解如何对生成的数字求和
- reactjs - 在 webpack 中,有没有办法同时转换两个不同的反应代码
- r - 将一组计算的平均值分配给另一组的行