Asp.net http和https的不同web.config设置

Asp.net http和https的不同web.config设置,asp.net,web-config,Asp.net,Web Config,是否可以将asp.net网站的web.config文件配置为对通过HTTPS访问网站的用户使用不同的设置 (例如,我需要将https访问的validateRequest属性设置为false,但对于内部访问(使用http)设置为true…) 谢谢 出于安全考虑,我建议将内部和外部站点部署到不同的站点。这意味着您可以在内部使用windows身份验证,在外部使用窗体身份验证,并更改所需的任何其他配置设置。这还意味着您可以通过不提供对仅供内部用户使用的方法的访问来限制外部恶棍的攻击面。在Web.conf

是否可以将asp.net网站的web.config文件配置为对通过HTTPS访问网站的用户使用不同的设置

(例如,我需要将https访问的validateRequest属性设置为false,但对于内部访问(使用http)设置为true…)


谢谢

出于安全考虑,我建议将内部和外部站点部署到不同的站点。这意味着您可以在内部使用windows身份验证,在外部使用窗体身份验证,并更改所需的任何其他配置设置。这还意味着您可以通过不提供对仅供内部用户使用的方法的访问来限制外部恶棍的攻击面。

在Web.config文件中禁用请求验证:

<system.web>
    <pages validateRequest="false"/>
</system.web>

我同意。如果您能够在网络级别识别内部和外部,那么就这样做。将站点一分为二,在它们之间都有一个公共库,这样可以减少代码重复。但是,在回答您的问题时,您不能在单个站点上使用不同的web.config,因为每次更改都会重新启动应用程序。在http和https上同时提供相同的站点有什么意义?为什么不在内部和外部都使用https?谢谢,这正是我需要的!
public class Global : HttpApplication
{
    public override Init()
    {
        base.Init();
        BeginRequest += ToggleValidation;
    }

    void ToggleValidation(object sender, EventArgs e)
    {
        if (Request.IsSecureConnection)
            Request.ValidateInput();
    }
}