Безопасность при указании пользователей в web.config - PullRequest
1 голос
/ 10 августа 2009

Я рассматриваю возможность использования FormsAuthentication в моем веб-приложении. Насколько безопасно указывать пользователей в файле web.config, которым разрешено использовать приложение?

Вот пример того, о чем я говорю:

<authentication mode="Forms">
      <forms loginUrl="TestLogin.aspx" slidingExpiration="true" timeout="30">
        <credentials>
          <user name="test" password="password"></user>
        </credentials>
      </forms>
    </authentication>

Ответы [ 2 ]

1 голос
/ 10 августа 2009

По умолчанию IIS не будет обслуживать файлы с расширением .config, поэтому, если вы доверяете любому, у кого есть доступ к управлению вашим веб-сервером, у вас все будет в порядке.

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

Если вам приходится иметь дело только с несколькими пользователями, а их учетные данные не часто меняются, вам следует использовать web.config для хранения ваших пользователей. Вероятно, это хорошая идея, чтобы не хранить пароли ваших пользователей в виде простого текста. Если вы супер параноик, посмотрите на шифрование раздела authentication вашего файла web.config: http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/print.php/c13663.

1 голос
/ 10 августа 2009

Я думаю, что это хорошо для маленьких простых сайтов. Но я бы наверняка зашифровал пароли примерно так:

<credentials passwordFormat = "SHA1">
    <user name="UserName1" password="SHA1EncryptedPassword1"/>
    <user name="UserName2" password="SHA1EncryptedPassword2"/>
    <user name="UserName3" password="SHA1EncryptedPassword3"/>
</credentials>

Подробнее об этом здесь: http://msdn.microsoft.com/en-us/library/e01fc50a.aspx

...