仅从一个IP地址调试.NET应用程序

时间:2014-07-24 08:32:39

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

这是我的问题。 我在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" />

已设定。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

<customErrors mode="RemoteOnly" />

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

如果您可以远程访问Web服务器,则可以登录并使用http://localhost访问您的网站。如果您RemoteOnly处于活动状态,则会发现错误的堆栈跟踪。

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

(我发现这篇文章是通过谷歌搜索“asp.net只显示堆栈跟踪到某些ip”)