在IIS上禁用经典ASP而不禁用ASP.NET

在IIS上禁用经典ASP而不禁用ASP.NET,asp.net,iis,asp-classic,Asp.net,Iis,Asp Classic,顺便说一句,这不是我想要的,而是我必须遵守的要求。我的要求是创建一个用户界面,允许用户禁用经典ASP,同时允许ASP.NET 1-4应用程序运行。任何人都能想到一个用户希望这样做的用例吗?当然,如果您是一个web主机,通过模拟一些相关IIS选项的应用程序提供对web服务器的部分访问,那么客户不仅不希望增加不需要的脚本/可执行系统运行的风险,而且您也不会,所以你希望它关闭,除非他们进入并显式地打开它,因为他们需要它 确实,此用例的软件已经存在。当然,如果您是一个web主机,通过模拟某些相关IIS选

顺便说一句,这不是我想要的,而是我必须遵守的要求。我的要求是创建一个用户界面,允许用户禁用经典ASP,同时允许ASP.NET 1-4应用程序运行。任何人都能想到一个用户希望这样做的用例吗?

当然,如果您是一个web主机,通过模拟一些相关IIS选项的应用程序提供对web服务器的部分访问,那么客户不仅不希望增加不需要的脚本/可执行系统运行的风险,而且您也不会,所以你希望它关闭,除非他们进入并显式地打开它,因为他们需要它


确实,此用例的软件已经存在。

当然,如果您是一个web主机,通过模拟某些相关IIS选项的应用程序提供对web服务器的部分访问,那么客户不仅不希望增加运行不必要的脚本/可执行系统的风险,而且您也不会,所以你希望它关闭,除非他们进入并显式地打开它,因为他们需要它


事实上,这个用例的软件已经存在。

Jon关于通过删除不需要的特性来减少站点攻击面的评论非常有效。理想情况下,你应该只运行你需要的,而不是更多

有很多现成的商业解决方案可以解决这个问题,比如Plesk,但是它们可能会提供太多的功能来满足您的需求

您可以编写自己的功能:

如果这是IIS6,那么您应该看看通过名称空间呈现的ADSI API:

要启用/禁用scriptmaps,您需要操作站点的scriptmaps元数据库属性:

如果这是IIS7,那么看看托管API。在IIS7中,您希望操作站点的处理程序映射:


在任何情况下,用户都必须是计算机管理员组的成员。

Jon关于通过删除不需要的功能来减少站点攻击面的评论非常有效。理想情况下,你应该只运行你需要的,而不是更多

有很多现成的商业解决方案可以解决这个问题,比如Plesk,但是它们可能会提供太多的功能来满足您的需求

您可以编写自己的功能:

如果这是IIS6,那么您应该看看通过名称空间呈现的ADSI API:

要启用/禁用scriptmaps,您需要操作站点的scriptmaps元数据库属性:

如果这是IIS7,那么看看托管API。在IIS7中,您希望操作站点的处理程序映射:


在所有情况下,用户都必须是计算机管理员组的成员。

除了用户只有.NET应用程序而没有经典ASP应用程序的情况之外,IIS6+中已经存在了在服务器范围内执行此操作的界面。如果不是管理员,谁是已经可以使用现有工具的目标用户?@Oded我的问题是,如果人们只有.NET应用程序,为什么要经历禁用经典ASP应用程序的麻烦?不要包含经典的ASP代码。@Thomas。管理员和用户不应直接与IIS交互,而应与web应用程序交互以实现此目的。是否使用web界面来管理服务器?只需确保您不使用经典ASP编写它……除了用户只有.NET应用程序而没有经典ASP应用程序的情况之外,该界面已经存在,可以在IIS6+中在服务器范围内实现。如果不是管理员,谁是已经可以使用现有工具的目标用户?@Oded我的问题是,如果人们只有.NET应用程序,为什么要经历禁用经典ASP应用程序的麻烦?不要包含经典的ASP代码。@Thomas。管理员和用户不应直接与IIS交互,而应与web应用程序交互以实现此目的。是否使用web界面来管理服务器?只是要确保你不写在经典的ASP…谢谢你的评论。什么样的软件具有此功能。我以前使用过web控制面板来工作共享服务器-我登录到主机的控制面板系统,我可以访问在其上运行的网站(是的,包括打开或关闭ASP或ASP.NET,以及PHP)。已经有一段时间没有使用共享主机系统了,所以我找不到它的名字,但是有不止一个产品在做这个。谢谢你的评论。什么样的软件具有此功能。我以前使用过web控制面板来工作共享服务器-我登录到主机的控制面板系统,我可以访问在其上运行的网站(是的,包括打开或关闭ASP或ASP.NET,以及PHP)。有一段时间没有使用共享主机系统了,所以我找不到它的名字,但是有不止一个产品在做这个。