ASP.NET безопасность имени пользователя / пароля

#asp.net

#asp.net

Вопрос:

Я использую VS2010, C #, SQL Server для разработки моего ASP.NET веб-приложение, хотя это не мое первое ASP.NET опыт, но на этот раз мой проект более подвержен атакам, и мне следует рассмотреть более эффективные политики безопасности. У меня есть экран входа в систему в качестве моей первой страницы, пользователи вводят свое имя пользователя и пароль, и отображается страница, специфичная для них, в моем последнем проекте я использовал строки запроса (идентификатор пользователя) вместе с сеансами в целях безопасности, но на этот раз я использовал только строки запроса, это означает, что на данный момент можно ввести myaddress.com?userid = 1 и посетить страницу на моем сайте!!! Я знаю, что это нехорошо, но каковы мои подходы, конечно, я не работаю с банковскими или финансовыми системами, но у меня будет стандартная политика безопасности, я должен использовать сеансы? файлы cookie? можете ли вы предложить мне простой в разработке и в то же время безопасный способ реализации политик защиты? есть примеры кода или советы?

Спасибо

Комментарии:

1. Если вы передаете параметры URL, избегайте передачи таких целых чисел, кто-то может легко преодолеть это. Посмотрите на перезапись URL-адреса или использование некоторых идентификаторов GUID. Помните, что сеансы полезны для каждого входящего пользователя, они являются важной частью веб-интерфейса.

2. Перезапись URL и GUID кажутся хорошими подходами, есть ли какой-либо короткий способ их реализации?

3. Я не знаю, защищаете ли вы форт-Нокс (приложение не должно быть взломано!) Или свой список покупок (нас раздражает взлом), но вы захотите использовать зашифрованный файл cookie в памяти, предпочтительно управляемый ASP.NET функция членства для отслеживания идентификационных данных между запросами и во времязапрос, который вы хотите использовать принципал потока и / или ASP.NET встроенный пользовательский объект. URL-адрес подвержен повторным атакам, не имеет встроенного механизма истечения срока действия, может быть передан пользователями другим пользователям случайно или намеренно, etc.So -1 к предложениям указать идентификатор в URL-адресе, если только это не список покупок

Ответ №1:

ASP.NET на самом деле поставляется со всеми удобствами, необходимыми для обеспечения безопасности сайта «из коробки», так что вам не нужно беспокоиться обо всех этих вещах самостоятельно.

Используйте встроенный ASP.NET Особенности членства, и все будет в порядке.

Комментарии:

1. 1 — упрощайте и концентрируйте свои усилия больше на бизнес-приложении, а не на безопасности, стоящей за ним. Хорошая отправная точка.