2011-12-16 64 views
2

我是Visual C#和.NET框架的新手,但在LAMP開發方面有相當豐富的經驗。我想知道linq到sql通信的安全性。Linq to SQL的安全性

通常在執行LAMP方式時,諸如使用服務層的措施部分用於增加系統的安全性,而不通過http暴露數據庫認證詳細信息。

經歷了幾次推薦 linq-> sql教程,似乎客戶端應用程序(通過web應用程序)直接與數據庫進行交互。這似乎並不非常有效或安全....

我想知道以下hings:

1)有哪些措施在.NET中,允許客戶端和服務器端之間的通信安全應用?

2)在.NET中是否有預裝的服務層框架?

3)爲了將數據從c#web應用程序發送到遠程SQL Server數據庫,是否可以手動使用http請求方法(POST/GET)?

+4

LINQ-to-SQL是一個完全服務器端的框架。你是如何決定客戶端與數據庫進行交互的? – Zruty 2011-12-16 15:01:17

回答

2

在ASP.NET應用程序中,您編寫的所有C#代碼都在服務器端(服務器端)執行,並且在執行後,該頁面將發送到客戶端(瀏覽器)。客戶端代碼是指JavaScript。數據庫詳細信息不會發送到客戶端。

0

您可以將LINQ系統稱爲與數據庫相關的「客戶端」,但這就像是將LAMP應用程序的PHP部分稱爲與數據庫相關的「客戶端」 - 完全正確,但是有點誤導。就整體客戶端而言 - 瀏覽器--LINQ不再提供比LAMP更多的驗證細節。

  1. 您的意思是「客戶」。就瀏覽器而言,主要機制是瀏覽器不知道你在做什麼。它甚至不知道它是LINQ,除非你是那種喜歡在你的網頁上放置「Powered by ...」圖像的人。就客戶端到數據庫而言,有幾種身份驗證模型(用戶/密碼,NTLM,Kerberos和我認爲更多),您可以在Web服務器和數據庫服務器之間的連接上使用SSL和IPSec。

  2. 你的意思是像MVC和WCF?

  3. 是的,自從SQL2000以來,見http://msdn.microsoft.com/en-us/library/aa226553%28v=sql.80%29.aspx雖然我不認爲它很受歡迎。這與LINQ無關,它將通過1433使用其本地協議連接到SQL,並可能用於構建允許受限操作而不是通過HTTP手動操作服務器的網站。