Я не смог получить удовлетворительный ответ на мой вопрос в Google, это:
Мне просто интересно узнать об этом.
Вы можете зашифровать строку conenction внутри webconfig, вот статья от Microsoft по этому вопросу: http://msdn.microsoft.com/en-us/library/dx0f3cf2(v=vs.80).aspx
Если вы отправляете строку подключения по каналу, она не более безопасна, чем канал. Например, отправив строку подключения через HTTP, и это будет просто текст, HTTPS, и он будет зашифрован, по FTP просто запланировать текст и так далее...
Если у вас есть веб-приложение в общей размещенной среде, вы должны быть обеспокоены тем, что провайдер может быть взломан.
Так что просто держите строку подключения внутри web.config и зашифровывайте ее и не отправляйте в Интернете; -)
Строки подключения безопасны в файле web.config. Они очень надежны, если вы не распечатываете их в веб-запросах.
Хороший проект на CodePlex Шифровать/расшифровать строку подключения
Существует немало способов защитить вашу строку соединения, например
Лучше всего сохранить строку соединения в webconfig для использования в качестве единственной точки использования для всего приложения.
Насколько безопасна ConnectionString над HttpRequest?
Это строка. Он настолько же безопасен, как и соединение, поэтому, как правило, совсем нет. Предполагается, что вы отправляете данные строки подключения через HttpRequest
. Если это не так, и ваша строка соединения используется в web.config
, она настолько же безопасна, как и сам файл и IIS.
Использует ConnectionString в файле web.config более безопасно, чем использование на какой-либо конкретной странице aspx?
Нет.
И как защитить ConnectionString для надежного веб-сайта?
Обычно для предотвращения жесткого кодирования имени пользователя и пароля используется интегрированная защита (проверка подлинности Windows). Кроме того, вы можете зашифровать раздел конфигурации, как описано здесь (RSA) и здесь (DPAPI).
Чтобы ответить на ваши вопросы поочередно:
How secure ConnectionString is over the HttpRequest?
Вам никогда не придется передавать строку подключения через HTTP; обычно случается, что пользователь делает запрос, ваш сайт обрабатывает запрос, включая подключение к базе данных, и возвращает результат клиенту. Строка подключения не должна передаваться по HTTP в этом сценарии.
Is using ConnectionString in web.config file more secure than using in any specific aspx page?
Зависит от того, что вы делаете со строкой подключения - если вы когда-либо выписываете ее клиенту, тогда это никогда не будет безопасным! Строка соединения обычно помещается в конфигурацию для целей повторного использования; встраивание его на каждую страницу значительно облегчает обслуживание и потенциальные ошибки.
And how to secure ConnectionString for highly secure website?
Вы можете зашифровать соединение - поэтому он никогда не хранится как обычный текст или не использует аутентификацию Windows, поэтому вам не нужен пароль. Это поддерживается ASP.Net, как описано здесь и здесь,
Насколько безопасна ConnectionString над HttpRequest?
Вы отправляете строку подключения через http-запрос? В самом деле? какой сценарий? Узумно только запросы на веб-страницу перемещаются через HTTP-запрос и ответ. Connectionstring - это то, что ваш код внутренне использует для доступа к данным, и он остается на вашем сервере.
Использует ConnectionString в файле web.config более безопасно, чем использование на какой-либо конкретной странице aspx?
Подумайте о ремонтопригодности. Если вы поместите свою строку соединения в класс, вам нужно перестроить свое приложение, когда вам нужно изменить строку подключения. Если у какого-либо органа есть доступ к вашей папке, где у вас есть ваши файлы, они могут использовать дизассемблер, чтобы узнать, что находится в ваших DLL.
И как защитить ConnectionString для надежного веб-сайта?
Вы можете зашифровать строку подключения в web.config. проверьте эту ссылку http://www.codeproject.com/Tips/304638/Encrypt-or-Decrypt-Connection-Strings-in-web-confi
web.config
безопасен, IIS не будет передавать этот файл клиенту.