Веб-приложение ASP.NET - проверка данных поля формы на стороне сервера - PullRequest
1 голос
/ 13 сентября 2009

Мы создаем приложение ASP.NET с C # .net в качестве языка.

Здесь мы проверяем данные поля формы на стороне клиента, используя средства проверки ASP.NET. Теперь мы планируем проверить данные поля формы и на стороне сервера, чтобы избежать внедрения хакерами скриптов.

Не могли бы вы мне помочь, если у вас есть идея?

Если было бы здорово, если бы вы также могли предоставить справочный документ или веб-ссылки (при необходимости).

Ответы [ 3 ]

2 голосов
/ 13 сентября 2009

Как сказал Роббан, элементы управления сервером проверки asp.net включают проверку на стороне сервера. Проверьте Page.Validate () и Page.IsValid () методы проверки на стороне сервера.

1 голос
/ 13 сентября 2009

Элементы управления ASP.Net Validation фактически выполняют проверку как на стороне клиента, так и на стороне сервера, однако обычно это относится к таким вещам, как обязательные поля, длина, сопоставление формата и тому подобное. Элементы управления проверкой обычно не предназначены для предотвращения злонамеренных действий.

С точки зрения защиты вашего приложения следует обратить внимание на две основные вещи: внедрение скриптов и внедрение SQL.

По умолчанию в ASP.net встроена защита от внедрения скриптов, но лучше всего защищаться от атак напрямую. Любой вывод, сгенерированный из пользовательского ввода, должен быть закодирован перед выводом. Вы можете использовать HttpUtility.HTMLEncode (). Существует также библиотека AntiXss, доступная от Microsoft, которая предлагает улучшенную защиту.

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

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

Советы по защите XSS
Библиотека AntiXss Скачать

1 голос
/ 13 сентября 2009

Если вы используете средства проверки ASP.NET, они также включают проверку на стороне сервера.

Вы можете проверить MSDN для получения дополнительной информации здесь: http://msdn.microsoft.com/en-us/library/aa479013.aspx

Прямо со страницы MSDN:

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

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