Лучший отвечающий
Шифрование Web.config

Вопрос
-
Добрый вечер! Не получается шифровать Web.config, ответ на aspnet_regiis -pe "system.web/connectionStrings" -app "/mysite" пишет что не удается открыть конфигурацию для виртуального пути "/mysite" и веб узла "веб узел по умолчанию"
- Перемещено Abolmasov Dmitry 10 января 2012 г. 9:40 (От:Веб)
24 декабря 2011 г. 16:22
Ответы
-
> То есть для хостинга веб конфиг может защифровать только администратор сервера?
зашифровать можно прямо из приложения.
using System; using System.Web.Configuration; namespace WebApplication1 { public class Global : System.Web.HttpApplication { void Application_Start(object sender, EventArgs e) { var c = WebConfigurationManager.OpenWebConfiguration("~/"); var s = c.GetSection("connectionStrings"); if(s.SectionInformation.IsProtected == false) { s.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider"); c.Save(); } } } }
- Помечено в качестве ответа Program-s.g 2 февраля 2012 г. 19:03
2 февраля 2012 г. 14:21 -
Сегодня получилось зашифровать файл, скопировал строку connectionStrings, вставил вместо старого connectionStrings на хостинге , но сайт не работает, что делаю неправильно?
Если Вы шифровали файл у себя локально и подложили на хостинг, то неудивительно что не работает - при шифровании используется закрытый ключ, хранящийся на машине, на коей производится шифрование.
Подложив зашифрованный конфиг на локальной машине на хостинг - очевидно строка не дешифруется, т.к. ключ отсутствует или не совпадает, что есть логично, т.к. если бы такой вариант был возможен, то толку от шифрования не было бы
По сабжу:
Зашифровка файла конфигурации web.config сайта IIS, как правило, нужна для скрытия строк подключения в базе данных, или настроек приложения
Зашифровка выполняется достаточно просто из командной строки:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pe "connectionStrings" -app "/siteName"
Расшифровка:C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pd "connectionStrings" -app "/siteName"Если в Default Web Site найден указанный siteName, то указанный для скрытия/расшифровки раздел обрабатывается почти моментальноТакже рекомендую запускать команду от имени администратора (мало ли - бывает всякое)Ну и почитать что нить вроде http://msdn.microsoft.com/ru-ru/library/ie/k6h9cz8h.aspx
- Изменено iSanSYS 1 февраля 2012 г. 22:59 читабилити (
- Предложено в качестве ответа iSanSYS 1 февраля 2012 г. 22:59
- Помечено в качестве ответа Abolmasov Dmitry 3 февраля 2012 г. 6:19
1 февраля 2012 г. 22:58
Все ответы
-
Сегодня получилось зашифровать файл, скопировал строку connectionStrings, вставил вместо старого connectionStrings на хостинге , но сайт не работает, что делаю неправильно?25 декабря 2011 г. 10:59
-
Уважаемый пользователь!
В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме
Для связи [mail]10 января 2012 г. 9:39 -
Сегодня получилось зашифровать файл, скопировал строку connectionStrings, вставил вместо старого connectionStrings на хостинге , но сайт не работает, что делаю неправильно?
Если Вы шифровали файл у себя локально и подложили на хостинг, то неудивительно что не работает - при шифровании используется закрытый ключ, хранящийся на машине, на коей производится шифрование.
Подложив зашифрованный конфиг на локальной машине на хостинг - очевидно строка не дешифруется, т.к. ключ отсутствует или не совпадает, что есть логично, т.к. если бы такой вариант был возможен, то толку от шифрования не было бы
По сабжу:
Зашифровка файла конфигурации web.config сайта IIS, как правило, нужна для скрытия строк подключения в базе данных, или настроек приложения
Зашифровка выполняется достаточно просто из командной строки:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pe "connectionStrings" -app "/siteName"
Расшифровка:C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pd "connectionStrings" -app "/siteName"Если в Default Web Site найден указанный siteName, то указанный для скрытия/расшифровки раздел обрабатывается почти моментальноТакже рекомендую запускать команду от имени администратора (мало ли - бывает всякое)Ну и почитать что нить вроде http://msdn.microsoft.com/ru-ru/library/ie/k6h9cz8h.aspx
- Изменено iSanSYS 1 февраля 2012 г. 22:59 читабилити (
- Предложено в качестве ответа iSanSYS 1 февраля 2012 г. 22:59
- Помечено в качестве ответа Abolmasov Dmitry 3 февраля 2012 г. 6:19
1 февраля 2012 г. 22:58 -
модер - переносы строк коряво работают1 февраля 2012 г. 23:00
-
То есть для хостинга веб конфиг может защифровать только администратор сервера?2 февраля 2012 г. 13:32
-
> То есть для хостинга веб конфиг может защифровать только администратор сервера?
зашифровать можно прямо из приложения.
using System; using System.Web.Configuration; namespace WebApplication1 { public class Global : System.Web.HttpApplication { void Application_Start(object sender, EventArgs e) { var c = WebConfigurationManager.OpenWebConfiguration("~/"); var s = c.GetSection("connectionStrings"); if(s.SectionInformation.IsProtected == false) { s.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider"); c.Save(); } } } }
- Помечено в качестве ответа Program-s.g 2 февраля 2012 г. 19:03
2 февраля 2012 г. 14:21 -
о, супер, добавлю в свой сервер хелпер )2 февраля 2012 г. 15:01
-
Добавил этот код в global.asax, загрузил новый файл на хостинг и открыл сайт . На хостинге web.config так и остался, а на локальном получилось зашифровать после запуска проекта. Почему так?2 февраля 2012 г. 16:11
-
> Добавил этот код в global.asax, загрузил новый файл на хостинг и открыл сайт . На хостинге web.config так и остался, а на локальном получилось зашифровать после запуска проекта. Почему так?
возможно, что путь к web.config на хостинге в рантайме другой. например, перед запуском сайт копируется в другую папку. проверьте значение:WebConfigurationManager.OpenWebConfiguration("~/").FilePath
2 февраля 2012 г. 16:58 -
Добавил этот код в global.asax, загрузил новый файл на хостинг и открыл сайт . На хостинге web.config так и остался, а на локальном получилось зашифровать после запуска проекта. Почему так?
Права на изменение файла есть? Вечная проблема некоторых хостеров, что нельзя именно изменять файлы в корне приложения2 февраля 2012 г. 17:23 -
Я заметил, что после загрузки новой глобал.асакс сначало возникает ошибка, потом сайт работает нормально, откючил переадресацию, и вот ошибка Access to the path '---tmp' is denied., доступ запрещен, но я разрешил изминение веб.конфиг,но опять не получается.2 февраля 2012 г. 17:54
-
Права на изменение файла есть?
. может нужно написать в тех.поддержку?- Изменено Program-s.g 2 февраля 2012 г. 18:11
2 февраля 2012 г. 18:10 -
> Я заметил, что после загрузки новой глобал.асакс сначало возникает ошибка, потом сайт работает нормально [...] я разрешил изминение веб.конфиг,но опять не получается.
какая ошибка? для чего шифровать web.config, если он незашифрованный закачан на хостинг?
2 февраля 2012 г. 18:24 -
какая ошибка? для чего шифровать web.config, если он незашифрованный закачан на хостинг?
2 февраля 2012 г. 18:31 -
> как загрузить зашифрованний конфиг на хостинг?
так же как и незашифрованный. зашифрованный web.config это обычный текстовый/xml файл, в котором есть теги, вроде этого: <CipherValue>I3qEAmQ8V ...
2 февраля 2012 г. 18:39 -
Но в этом случае сайт вообще не работает
так же как и незашифрованный. зашифрованный web.config это обычный текстовый/xml файл, в котором есть теги, вроде этого: <CipherValue>I3qEAmQ8V ...
2 февраля 2012 г. 18:56 -
Все, друзья, написал в тех.поддержке, "дали" право на изменение , и с помощью глобал.асакс получилось.Большое спасибо!!!2 февраля 2012 г. 19:03
-
Все, друзья, написал в тех.поддержке, "дали" право на изменение , и с помощью глобал.асакс получилось.Большое спасибо!!!
Хе, как правило так и бывает- Изменено iSanSYS 3 февраля 2012 г. 8:32 опечатка
3 февраля 2012 г. 8:30