2011-12-16 7 views
2

私はVisual C#と.NETフレームワークでは新しいですが、LAMP開発の経験はかなりです。私はSQL通信へのlinqのセキュリティについて疑問を抱いていました。Linq to SQLの背後にあるセキュリティ

通常、LAMPの方法では、サービス層を使用するなどの手段が部分的に使用され、システムのセキュリティが向上し、httpでのデータベース認証の詳細が公開されなくなりました。

お勧め(microsoft)linq-> sqlチュートリアルは、クライアントサイドアプリケーション(Webアプリケーション経由)がデータベースと直接対話しているようです。これは非常に効率的なように見えるか、セキュリティで保護されません....

私は、次のhings知りたい:

1)クライアント側とサーバー側の間の安全な通信を可能にするために、.NETに存在するどのような対策アプリ?

2).NETで動作するプリインストールされたサービスレイヤフレームワークはありますか?

3)C#WebアプリケーションからリモートSQL Serverデータベースにデータを送信するために、http要求メソッド(POST/GET)を手動で使用することはできますか?

+4

LINQ-to-SQLは完全にサーバー側のフレームワークです。クライアントがデータベースとやり取りしているとはどのように判断しましたか? – Zruty

+4

私は数年前にMicrosoftがLinq-to-Sqlのサポートを辞退したことを指摘したいと思います。技術の更新はありません。 – Amy

+0

@Inuyasha - 他にも交換されていますか? – user559142

答えて

2

ASP.NETアプリケーションでは、書き込むすべてのC#コードはサーバー(サーバー側)で実行され、実行後にページがクライアント(ブラウザ)に送信されます。クライアント側コードはjavascriptを参照します。データベースの詳細はクライアントに送信されません。

0

LINQシステムをデータベースに関して「クライアント」と呼んでも構いませんが、それはLAMPアプリケーションのPHP部分をデータベースに関して「クライアント」と呼ぶのと同じです。やや誤解を招くブラウザ全体では、LINQはLAMPよりも認証の詳細を公開しません。

  1. ここでは、「クライアント」を意味します。ブラウザの主な仕組みは、ブラウザがあなたが何をしているのかわからないということです。あなたがあなたのウェブページに「Powered by ...」画像を置くのが好きな人でない限り、LINQであることは分かりません。クライアントとデータベースの関係では、いくつかの認証モデル(ユーザー/パス、NTLM、Kerberos、もう少し考える)があり、Webサーバーとデータベースサーバー間の接続にSSLとIPSecを使用できます。

  2. MVCとWCFのような意味ですか?

  3. はい、私はそれが非常に普及しているとは思わないが、http://msdn.microsoft.com/en-us/library/aa226553%28v=sql.80%29.aspxを参照してください。これは、ネイティブプロトコルを使用して1433を介してSQLに接続するLINQとは無関係で、HTTP経由でサーバーを手動で操作するのではなく、制限された操作を可能にするWebサイトを構築するために使用されます。