Рекомендации по безопасности ASP.NET MVC - PullRequest
4 голосов
/ 09 марта 2009

Я недавно начал личный проект, который использует ASP.NET MVC (RC1 на момент написания статьи). Мой опыт - традиционная разработка ASP.NET WebForms.

Мои знания ASP.NET MVC ограничены, поэтому я хотел бы узнать ваше мнение о том, как наилучшим образом подходить к аутентификации, проверке ввода и защите от распространенных атак (XSS, XSRF и т. Д.).

Начну с того, что перечислю несколько статей Стивен Вальтер опубликовал в своем блоге :

Проверка:



Спасибо,
Арни

1 Ответ

6 голосов
/ 09 марта 2009

С макушки головы (и далеко не до конца) ...

  • Используйте AntiForgeryToken во всех формах для защиты от XSRF. Используйте модульные тесты, чтобы убедиться, что все действия контроллера, которые принимают POSTS, снабжены атрибутом ValidateAntiForgeryToken.

  • Используйте расширения HtmlHelper везде, где можно воспользоваться преимуществами автоматической кодировки HTML.

  • Используйте ORM с параметризованными запросами для всего доступа к БД - не только для MVC, но все еще актуально.

  • Будьте ограничены в тех HTTP-глаголах, которые вы принимаете, до минимально необходимого. Используйте DELETE (vi AJAX) или POST для удаления действий.

  • Используйте AuthorizeAttribute или его атрибут для защиты непубличных действий.

  • Не отображать идентификаторы / пароли пользователей в URL, которые могут быть кэшированы (т. Е. Входить в систему через форму POST, а не GET url). Как всегда, используйте SSL для передачи конфиденциальных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...