制作修改 web.config 的 Web 应用程序是否不明智?

制作修改 web.config 的 Web 应用程序是否不明智?

我们的组织收到很多来自市场部门的请求,要求为我们面向公众的生产网站创建友好的 URL。我正在考虑创建一个简单的内部 ASP.NET Web 表单应用程序,以便他们查看和修改 URL 重写映射。该应用程序本质上是 web.config XML 的前端。

目的是简化映射过程,而无需向非 IT 人员提供服务器/IIS 访问权限。

有哪些考虑因素会使这种做法变得不明智?这是假设修改代码是可靠的,并实现了所有适当的验证,因此格式错误的 XML 不会破坏网站。

或者,如果已经有产品能够可靠地提供相同功能,那么这也是一种选择。

答案1

如果您继续采用您的方法,我至少会将所有重写规则移到另一个文件中,例如rewrite.config

 <rules>

   <!-- Rewrite Rules, this gets included in web.config during runtime -->

     <rule name="AspNetTrace" stopProcessing="true">
         <match url="trace\.axd" />
         <action type="CustomResponse" statusCode="404" statusReason="Not Found" statusDescription="Trace not allowed" />
     </rule>  

 </rules>

在您的 web.config 中,只有类似这样的内容:

<rewrite>
   <rules configSource="rewrite.config" />
</rewrite> 

然后确保您的应用程序池身份具有写入权限rewrite.config但没有web.config

您通常不希望 web.config 文件能够从网站本身进行更新,不正确的规则也可能破坏整个网站,因此我会对此非常小心。

相关内容