2014-07-24 29 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

相關問題