2014-07-24 32 views
0

这是我的问题。 我对世界的另一边与IP 1.2.3.4仅从一个IP地址调试.NET应用

如果我把在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" /> 

已设置。

回答

0

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

+0

目前我有我的调试2个1版本,另一个是生产,但我想知道,如果这是可能的。 – manuel

0

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

如果你想显示/隐藏堆栈跟踪可能要改用这一点:

<customErrors mode="RemoteOnly" /> 

然而,这不允许通过IP以外的环回过滤。 IP地址通常不是用于识别人员或防止授权人员检索堆栈跟踪的非常安全的方式。

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

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

(我发现文章google搜索“asp.net显示堆栈跟踪到某些IP”)

+0

我知道IP不是安全的方式,但它对我来说足够好,所以如果这个RemoteOnly不仅可以与localhost一起工作,而且可以通过web.config来设置,它将会很棒。 – manuel

相关问题