Jawaharjak Ответов: 3

Как избежать жесткого пароля в файле web config на языке C#


Name and password information should not be included in a configuration file in plaintext as this will allow anyone who can read the file access to the resource.
    
I want to Encrypt the config file and How to avoid Hardcoded password in Config file?

What I have tried:

<pre><connectionStrings>    
<addname="cs"connectionString="DataSource=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=XXSDFASFDKD;"/>
</connectionStrings>

Richard MacCutchan

В чем же вопрос?

Jawaharjak

Я хочу зашифровать конфигурационный файл и как избежать жесткого пароля в конфигурационном файле?

ZurdoDev

Если вы загуглите how to encrypt web.config, то найдете массу статей о том, как это сделать.

3 Ответов

Рейтинг:
24

Afzaal Ahmad Zeeshan

Это не является серьезной проблемой, если только вы не позволяете всем видеть, что написано в файле.

<connectionStrings>    
    <addname="cs"connectionString="DataSource=myServerAddress;Initial Catalog=myDataBase; User Id=myUsername; Password=XXSDFASFDKD;"/>
</connectionStrings>
Проблема с этим подходом может возникнуть, когда вы либо сохраняете эти значения в системе управления версиями, либо позволяете всем читать ваши производственные конфигурации.

Я использовал некоторые другие методы, чтобы преодолеть эту проблему. Большинство облачных (и других тоже) хостинговых решений предоставляют параметры конфигурации среды. Вы можете использовать либо это, либо переписать конфигурационные файлы при развертывании, что - то вроде этого, https://docs.microsoft.com/en-us/previous-versions/aspnet/dd465326(v=vs. 110), или вы можете использовать соглашение об именовании, например веб.конфиг и веб.Отпустить.конфиг. Таким образом, Вы сможете пройти регистрацию заезда только в интернете.config и сохранить веб-страницы.Отпустить.версия конфига где-то в безопасном—если вы конечно не доверяете своим разработчикам.

Что я сделал, так это загрузил эти значения во время выполнения с помощью переменных среды и отправил их загрузчикам типов и инициализаторам. Таким образом, у меня были производственные значения, настроенные только на хостинге, и местные инженеры видели только свои собственные конфигурации системного уровня. Кроме этого, нет никаких проблем, и помните, шифрование только преувеличит проблему, вместо того чтобы решить еепопробуйте это испытать.

Посмотрите это видео, чтобы понять, как, https://www.youtube.com/watch?v=MkcsbM7_2aE


Рейтинг:
2

RmcbainTheThird

Вот как мы это делаем. Все веб-приложения, подключающиеся к БД, используют проверку подлинности windows. Мы создаем учетную запись службы, под которой работает приложение. Это настраивается в пуле приложений, назначенном веб-приложению.