package.json 是否应该被 Web 服务器 (IIS) 阻止

Should package.json be blocked by web server (IIS)

如果我尝试访问 web.config 服务器 returns HTTP Error 404.8 - Not Found(请求过滤模块配置为拒绝 URL 中包含 hiddenSegment 部分的路径。 )

如果我尝试访问packages.config服务器returns HTTP Error 404.7 - Not Found(请求过滤模块配置为拒绝文件扩展名。)

现在我明白为什么那两个是 blocked/filtered 了。但我不确定为什么 package.json 不是。

  1. 有人能解释一下原因吗?
  2. 如果它应该被阻止,我该如何处理,这样它就不会影响其他 .json 确实需要由 Web 服务器 (IIS) 提供服务的文件?

只需将其添加到 web.config 的 hiddenSegments 部分:

<system.webServer>
<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="package.json" />
    </hiddenSegments>
  </requestFiltering>
</security>
</system.webServer>

有关可用的 hiddenSegments 的更多详细信息here