Подводные камни безопасности сайта и что я могу сделать в ASP.NET MVC, чтобы избежать / смягчить их - PullRequest
4 голосов
/ 07 мая 2009

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

Я ищу такие вещи, как:

  • SQL-инъекция (я знаю это, но если кто-нибудь знает инструменты для анализа веб-сайтов на наличие уязвимостей, это было бы полезно)
  • Неправильное хранение паролей. Я знаю, что я должен использовать соль. Какие возможности предоставляет мне ASP.NET MVC для этого?
  • Ограничение скорости входа (Джефф упомянул об этом сегодня на Coding Horror). Как бы я реализовать это в ASP.NET MVC? Могу ли я сделать это со стандартной реализацией поставщика членства?
  • Что такое XSS и какие инструменты есть в наборе инструментов ASP.NET MVC, чтобы его избежать?
  • и т.д.

Если тема была рассмотрена в другом вопросе, хорошей идеей будет краткое резюме и ссылка на этот вопрос.

1 Ответ

1 голос
/ 07 мая 2009
  • SQL-инъекция - используйте параметризованные запросы! Если вы используете класс StringBuilder или конкатенацию строк для построения запросов SQL, вы, скорее всего, уязвимы для внедрения SQL.
  • XSS - при условии, что вы используете помощников MVC, таких как =Html.Encode(yourPossibleCompromisedData), для отображения данных на вашей странице, все будет в порядке. Эти помощники предназначены для остановки выполнения внедренного кода в браузере. ASP.NET также имеет защиту формы, предотвращающую публикацию вредоносного кода в ваших действиях (это не MVC, а сама aspnet).
  • Неправильное хранение паролей. Используйте встроенного поставщика членства aspnet - он использует хорошие шаблоны (соль) для хранения паролей и т. Д.
  • Ограничение скорости входа в систему - я полагаю, что существуют проекты для вклада, которые могут смягчить эту проблему (если встроенный поставщик еще не сделал этого)
  • Что такое XSS и какие инструменты есть в наборе инструментов ASP.NET MVC, чтобы избежать его? читать: XSS . MVC 1.0 предоставляет скрытое поле =Html.ValidationSummary() для форм, чтобы уменьшить межсайтовый скриптинг.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...