Безопасность позади Linq to SQL - PullRequest
2 голосов
/ 16 декабря 2011

Я новичок в Visual C # и .NET Framework, но у меня достаточно опыта в разработке LAMP. Мне было интересно узнать о безопасности связи linq to sql.

Обычно при использовании способа LAMP такие меры, как использование сервисного уровня, использовались частично для повышения безопасности системы, не раскрывая детали аутентификации базы данных через http.

Изучив несколько рекомендованных (от Microsoft) руководств по linq-> sql, создается впечатление, что клиентское приложение (через веб-приложение) взаимодействует напрямую с базой данных. Это не кажется эффективным или безопасным ....

Хотелось бы узнать следующие подсказки:

1) Какие меры существуют в .NET для обеспечения безопасного взаимодействия между приложениями на стороне клиента и на стороне сервера?

2) Существуют ли какие-либо предустановленные инфраструктуры уровня обслуживания для работы в .NET?

3) Можно ли вручную использовать методы HTTP-запроса (POST / GET) для отправки данных из веб-приложения c # в удаленную базу данных SQL Server?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

В приложении ASP.NET весь код C #, который вы пишете, выполняется на сервере (на стороне сервера), и после его выполнения страница отправляется клиенту (браузеру). Код на стороне клиента относится к JavaScript. Детали базы данных не отправляются клиенту.

0 голосов
/ 16 декабря 2011

Вы можете называть систему LINQ «клиентом» по отношению к базе данных, но это все равно, что ссылаться на PHP-часть приложения LAMP как «клиента» по отношению к базе данных - полностью верно, но немного вводит в заблуждение. С точки зрения общего клиента - браузера - LINQ не предоставляет больше деталей аутентификации, чем LAMP.

  1. Какой "клиент" вы имеете в виду здесь. С точки зрения браузера основной механизм заключается в том, что браузер не знает, что на земле вы делаете. Он даже не узнает, что это LINQ, если вы не тот человек, который любит размещать изображения «Powered by ...» на вашей веб-странице. С точки зрения клиента к базе данных, существует несколько моделей аутентификации (user / pass, NTLM, Kerberos и, я думаю, некоторые другие), и вы можете использовать SSL и IPSec для соединения между веб-сервером и сервером базы данных.

  2. Вы имеете в виду как MVC и WCF?

  3. Да, начиная с SQL2000, см. http://msdn.microsoft.com/en-us/library/aa226553%28v=sql.80%29.aspx, хотя я не думаю, что он очень популярен. Это не имеет ничего общего с LINQ, который будет подключаться к SQL через 1433 с использованием собственного протокола и, возможно, будет использоваться для создания веб-сайта, на котором разрешены ограниченные операции, а не ручное управление сервером по HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...