【问题标题】:debug .NET aplication only from one IP adress仅从一个 IP 地址调试 .NET 应用程序
【发布时间】:2014-09-15 17:14:17
【问题描述】:

这是我的问题。 我在世界的另一端有一台服务器,IP 为 1.2.3.4

如果我把这个放在 web.config 中

<compilation defaultLanguage="c#" debug="true" />

每个人都看到一个调试,我想设置类似的东西

<compilation defaultLanguage="c#" debug="true" IP="4.3.2.1" />

所以只有 IP 4.3.2.1 可以看到该站点的调试,所有其他 IP 都应该看到

<compilation defaultLanguage="c#" debug="false" />

已设置。

【问题讨论】:

    标签: asp.net .net asp.net-mvc-3 web-config


    【解决方案1】:

    该设置说明了整个页面的编译方式。然后以这种形式将其提供给所有客户。如果你想要这个,你可以有两个站点——一个是正常的,一个是调试的——如果有一个特定的 IP 请求你的站点,你可以将它重定向到调试版本。

    【讨论】:

    • 目前我有 2 个版本 1 用于调试,另一个用于生产,但我想知道这是否可能。
    【解决方案2】:

    你打算做什么?您在摆弄编译元素,即尝试修改代码的编译。代码不是按请求或按用户编译的。

    如果您想显示/隐藏堆栈跟踪,您可能需要改用它:

    <customErrors mode="RemoteOnly" />
    

    但是,除了环回之外,这不允许按 IP 过滤。 IP 地址通常不是识别人员或阻止授权人员检索堆栈跟踪的非常安全的方法。

    如果您可以远程访问网络服务器,您可以登录并使用http://localhost 访问您的网站。如果您有RemoteOnly 处于活动状态,那么您将找到错误的堆栈跟踪。

    如果您仍想采用基于 IP 的方法,您可能会在 Rich Custom Error Handling with ASP.NET 找到一些东西。 “丰富的自定义错误页面”部分提到“此处可能包含仅向某些 IP 地址显示详细信息的逻辑。”

    (我通过谷歌搜索“asp.net 仅对特定 ip 显示堆栈跟踪”找到该文章)

    【讨论】:

    • 我知道 IP 不是安全的方式,但它对我来说已经足够好了,所以如果这个 RemoteOnly 不仅可以与 localhost 一起工作,而且可以从 web.config 设置,那就太好了。
    猜你喜欢
    • 2021-04-04
    • 2021-10-02
    • 2021-05-21
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多