为什么有些人在发布时将他们的asp.net页面变成HTML页面?

Eti*_*nne 5 html c# asp.net security

我刚刚被告知我可能需要处理一个项目,我将使用ASP.NET 3.5和C#.我们团队中的某个人说我们应该在发布网站时将所有页面都更改为HTML.因此,不要使用www.test.com/Page.aspx,而是访问www.test.com/Page.html

所以我想知道的是:

A.)如何做到这一点以及使用什么工具?

B.)为什么要这样做,我们可以从中受益?(被告知要阻止黑客获取它)

C.)这是推荐的吗?

提前致谢.

Bli*_*ixt 9

A)你可以通过改变Web.config来实现:

<system.web>
    <httpHandlers>
        <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
    </httpHandlers>
</system.web>
Run Code Online (Sandbox Code Playgroud)

B)原因是阻止观众知道网站背后的运行时,但在大多数情况下使用ASP.NET,很容易从HTML的添加中识别(例如视图状态等)

C)这取决于你,我不会说它的好坏.


在回复您的评论如下:

您可能还需要指定一个buildHandler:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true">
      <buildProviders>
        <add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
      </buildProviders>
    </compilation>
    <httpHandlers>
      <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory" />
    </httpHandlers>
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)


Mer*_*ste 5

B)C)

如果网址是公开的,你应该输入url的相关信息,以及在未来10到20年内(或更多......)不太可能改变的事情,那将是:

  • 关于所呈现页面的简短描述

这些事情可能会随着时间而改变

  • ids - 如果将数据移植到其他系统
  • .html .php .jsp .do .aspx如果你改变技术
  • / controller/view/main如果您重新排列网站的结构

如果网址是私有的,那么构建它们并不重要,只要它有助于您的应用程序.