2010-04-16 5 views
3

Я читал учебное пособие по ASP.NET и сторонним API, и он упомянул, что API KEY и SECRET KEY должны храниться в файле web.config для обеспечения безопасности на рабочих серверах, а не в классах, которые их используют. Однако я не совсем уверен, что более безопасно для файла web.config, чем для класса? Я понимаю удобство хранения его в файле конфигурации, но я не вижу преимущества безопасности?Является ли web.config более безопасным, чем класс?

ответ

6

Для начала вы можете быстро обновить ключ API в файле web.config. Вам придется перекомпилировать класс и повторно развернуть класс.

Вы также можете шифровать разделы раздела web.config, начиная с asp.net 2,0

http://weblogs.asp.net/scottgu/archive/2006/01/09/434893.aspx

Если вы можете держать его на machine.config, который будет гарантировать, что он живет только на том, что машины и нигде. Web.Configs необходимо размещать в каждой среде, и хотя вы можете сохранить разницу в web.config для каждой машины, с течением времени это будет сложно, потому что вы должны синхронизировать их все.

0

Существует не преимущество безопасности. Существует удобство, так как вам не нужно перекомпилировать классы, которые используют эти значения, в случае их изменения.

С точки зрения безопасности классы имеют одинаковый уровень безопасности. Файлы web.config и любые файлы классов (в App_Code) или скомпилированные сборки (в папке bin) не смогут быть загружены (эти каталоги не сопоставляются с виртуальными каталогами, с которыми пользователи могут загружаться).

Если они получены, однако, на них нет никакой безопасности. Файлы web.config легко читаются, и с помощью таких инструментов, как Reflector, легко увидеть константы, которые у вас есть в сборной сборке.

Единственное преимущество, которое имеет web.config над сборкой сборки, заключается в том, что вы можете шифровать разделы файла web.config, как Scott Guthrie points out in his blog.

1

Если он живет только на web.config на сервере, он также не находится на каждом компьютере разработчика. Это делает его более безопасным, так как ваш риск утечки секретов уменьшается.

Смежные вопросы