2009-05-04 39 views
5

假設您正在編寫基於網絡的WinForms應用程序,該應用程序由於客戶站點上的限制性公司策略而應該在「偏執狂」環境中運行。這樣的敵對環境有什麼樣的限制,你做了什麼來設計他們?部署.NET WinForms應用程序的最惡劣的企業環境是什麼?

一些實例以開始:

  • 問題:有一個非常嚴格的防火牆僅允許出站端口80流量。解決方案:只使用HTTP進行聯網。
  • 問題:.NET框架是不允許的。解決方案:將您的應用程序轉變爲網絡應用

在現實生活中的客戶情況下,例如銀行軟件(通常需要生活在特別嚴格的環境中),您會遇到什麼樣的限制?

+2

這不是真的能回答你的問題,但它提醒了我(特別是第一個問題)RFC 3093.在某個時刻,你必須承認這些黑客是爲了逃避管理,而不是保持真正的安全。 – 2009-05-04 13:22:35

+0

這是一個無賴這是封閉的,我認爲這將會成爲一個很好的社區wiki問題。 – overslacked 2009-05-04 15:48:28

回答

3

好吧,問題的第一部分,我不確定。但是,關於你的要點。您可以在端口80上運行服務器,而不是使用HTTP,但使用自定義協議。另外,當然防火牆允許SSL(443),你也可以將你的協議封裝在SSL中。就.NET框架而言,您可以使用Xenocode的PostBuild或類似的「靜態鏈接」類的.NET應用程序。此外,對於HTTP的東西,你可以讓你的應用程序通過HTTP進行通信,但使用Web服務,因此仍然提供了一個豐富的客戶端。

這裏有一個鏈接到PostBuild:

https://secure.xenocode.com/Products/Postbuild-for-NET/

0

被迫在舊框架,如.NET 1.1,.NET 2.0的發佈3年後發展起來的。也是桌面和服務器團隊之間的脫節。桌面團隊認爲.NET很糟糕而且不安全,而服務器團隊恰好相反,並且熱愛.NET,因爲它有能力通過信任權限鎖定環境。

你可以做很多事情來改變非常快的企業政策。這是一個緩慢而緩慢的過程,讓他們接受新事物。

1

強制通過端口80的所有網絡流量是一個很好的。然後需要端口80上的重定向器允許多個服務器應用程序在一個端口上「偵聽」,因爲打開任何其他端口將是「安全風險」。

1

您可能遇到的最大問題可能是那些不會定期運行Windows Update並且無法訪問其計算機的公司。我的客戶就是這樣,但他們需要。

這意味着當你推出你的軟件時,你需要知道他們有什麼.net平臺,並告訴他們'更新到最新'並不總是一種選擇。在沒有互聯網的情況下,在每個桌面上安裝更新程序,並獲得所有.net版本,Service Pack和MS修補程序,這是一件非常痛苦的事情。因此,如果您提供的代碼需要用戶沒有的東西,那麼您可能需要重寫它。

2

堅持堅持使用IE6的公司。如果您嘗試解決Web應用程序的限制,可能會增加整體開銷。

不給他們的用戶在他們的機器上安裝東西的管理權限也是一件大事,可能是他們可能堅持的瀏覽器上的一些安全設置。

相關問題