Какие команды ASP.NET могут привести к небезопасному коду? - PullRequest
3 голосов
/ 19 июля 2009

Лично я пытаюсь написать безопасный код ASP.NET. Тем не менее, я стал совершенно параноиком по поводу кода, который я пишу, поскольку я работал на регистратора (высокие цели мошенничества). Существуют ли какие-либо функции ASP.NET, на которые мне следует обратить пристальное внимание (кроме доступа к SQL - я знаю достаточно, чтобы не выполнять динамический SQL).

Ответы [ 2 ]

4 голосов
/ 19 июля 2009

Отличная статья в MSDN: Практика безопасности: краткий обзор методов безопасности ASP.NET 2.0 .

Выдержка:

Как предотвратить межсайтовый скриптинг

Проверка ввода и кодирование вывода. Ограничить ввод, подтвердив его тип, длина, формат и диапазон. использование метод HttpUtility.HtmlEncode для закодировать вывод, если он содержит вход от пользователя, например, ввод из формы поля, строки запроса и куки или из других источников, таких как базы данных. Никогда не просто возвращайте ввод пользователю без проверки и / или кодирования данные. В следующем примере показано, как закодировать поле формы.

Response.Write(HttpUtility.HtmlEncode(Request.Form["name"]));

Если вы возвращаете строки URL, которые содержат введите клиенту, используйте HttpUtility.UrlEncode метод для кодирования эти строки URL, как показано здесь.

Response.Write(HttpUtility.UrlEncode(urlString));

Если у вас есть страницы, которые нужно принять ряд элементов HTML, таких как через какой-то ввод текста поле, вы должны отключить ASP.NET запрос подтверждения для страницы.

Включение пользовательских ошибок, чтобы сохранить ошибки закрытыми

<customErrors mode="On" defaultRedirect="YourErrorPage.htm" />
1 голос
/ 19 июля 2009

Никогда не доверяйте пользовательскому вводу. Никогда не предполагайте, что проверка на стороне клиента предотвратит неверные входные данные. Всегда проверяйте, что ValidateRequest = "true" и EnableEventValidation = "true" в вашем web.config:

См. Подтверждение запроса и Учебники по безопасности ASP.NET .

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