【问题标题】:Is localhost safe to check as a security conditionlocalhost 是否可以作为安全条件进行检查
【发布时间】:2014-08-25 11:39:39
【问题描述】:

我有一个 HttpHandler 可以做一些事情,但我不想让它在我的本地机器上运行。现在,当我在 Visual Studio 中运行站点时,我只需将 web.config 文件中的处理程序注释掉,并在部署站点时取消注释它:麻烦。我想添加一个条件来检查该站点是否在我的本地计算机上运行,​​如下所示:

public void ProcessRequest(HttpContext context)
{
    if (context.Current.Request.Url.Host != "localhost") { DoSomething(); }
}

这是安全的还是有可能在我部署时条件不会触发?

【问题讨论】:

    标签: c# asp.net httphandler


    【解决方案1】:

    我建议你使用:

    HttpContext.Current.Request.IsLocal
    

    【讨论】:

      【解决方案2】:

      您也可以查看Request.IsLocal

      检查本地(主机)是否有效取决于您的其余设置,例如,当它被同一台机器上的站点或代理调用时,可能会导致请求似乎来自同一台机器,尽管它实际上是外部的。

      现在,我只是将 web.config 中的处理程序注释掉

      听起来您可以改用configuration transform,因此处理程序不会包含在部署构建中。

      【讨论】:

      • 好的,谢谢你的回答; Joe 仅以几秒钟的优势击败了您,但获得了支持,我将研究配置转换!
      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多