如何禁用 ASP.NET Core 的 "Razor Pages"?

How do I disable ASP.NET Core's "Razor Pages"?

我们使用 ASP.NET Core 的 "MVC",而不是新的 "Razor Pages"

我知道默认情况下它们从 /Pages 获得服务,所以 在运行时 (!!) 我把一些剃刀页面放在那里看看会发生什么 - 并且令我惊讶的是,他们没有做任何进一步的事情就得到了服务!

这对我们来说是一个主要的安全风险。在生产服务器上,一些恶意行为者可能会将 razor 页面放入正确的目录,然后造成相当大的破坏。

我以为它们可以被禁用,但一无所获。

如何才能完全禁用 "Razor Pages"?

@CodeCaster 上面的评论说它们不能被禁用,所以我想到了一个 hacky 解决方法 - 将目录更改为随机目录:

services
  .AddMvc();
  .WithRazorPagesRoot("/" + generateRandomString());

虽然这并非万无一失 - 它不会阻止有足够决心破坏您的 dll 的人。

(如果可以禁用它们,请添加您的答案,我会接受。)