MVC 4 路由 - 忽略图像请求

MVC 4 routing - ignore requests for images

我试图阻止用户在我的 Web 应用程序中自行发出访问图像的请求,因此不应允许用户发出此类请求:

sitename/Images/test.jpg

我已经尝试在 RouteConfig.cs 中指定要忽略的路由,但它仍然会自行提供图像,有没有办法防止这种情况发生?

这是我试过的:

routes.IgnoreRoute("{file}.jpg");
routes.IgnoreRoute("Images/{file}.jpg");
routes.IgnoreRoute("{resource}.jpg");
routes.IgnoreRoute("Images/{resource}.jpg");

如果你想忽略文件夹你可以这样写:

routes.IgnoreRoute("Images/{*pathInfo}");

如果您只想忽略文件夹中的某些文件,您可以像这样使用 this overload of IgnoreRoute()

routes.IgnoreRoute("{Images}", new { assets = @".*\.(jpeg|gif|jpg)(/.)?" });

如您所见,constraints 参数可以像 RegExp 一样实现。