【问题标题】:MVC website - how to prevent access to static filesMVC 网站 - 如何防止访问静态文件
【发布时间】:2016-04-05 11:51:55
【问题描述】:

我有一个 MVC 网站,但没有进行身份验证。在网站目录中,我有一个文件夹 \ProjectNotes,其中包含一个文件 Notes.txt。此文件夹和文本文件都不是解决方案的一部分,但仍会在发布时被复制。

我的问题是任何人都可以使用网络浏览器访问 mysite.com/ProjectNotes/Notes.txt,而我无法阻止它。我已尝试添加特定路线以将用户带到错误页面(无效),并且在我尝试过的 Web 配置中,但这也不起作用。

如何防止使用 MVC 框架访问 Notes.txt 文件?

【问题讨论】:

  • 这应该对你有用:routes.IgnoreRoute("{resource}.txt/{*pathInfo}");
  • 它什么都不做。我也有相同的行来忽略 .axd 文件。
  • 你试过了吗..如果它没有帮助那么你可以使用robot.txt文件并编写你不希望用户访问的路径,你可以更多地搜索robot.txt文件..和如果代码中有一行,那么它会产生一些影响,所以不要说它什么都不做
  • @Varun robots.txt 有这个目录,但我仍然可以浏览到它。我在路由之前将您的 ignoreroute 行添加到 BundleConfig.cs 中,但它没有做任何事情。但是感谢您的尝试:)

标签: asp.net-mvc security


【解决方案1】:

您应该为您的案例使用Web.Config 文件。将您的根Web.Config 文件添加到<system.webServer> 部分:

<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="ProjectNotes"/>
    </hiddenSegments>
  </requestFiltering>
</security>

实际上,您的问题与 MVC 无关,但有 IIS 限制(或其他 Web 服务器限制,但我假设您使用 IIS)

【讨论】:

  • 这是最好的方法:)
  • @VictorySaber 很高兴为您提供帮助 ;)
猜你喜欢
  • 2016-07-19
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 2015-11-15
  • 1970-01-01
  • 2017-12-02
相关资源
最近更新 更多