Практика фильтрации пользовательских входов - PullRequest
2 голосов
/ 27 января 2011

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

<script type="text/javascript">alert(12);</script>

в текстовом поле.Я хотел бы спросить, есть ли у вас какие-либо рекомендации для надлежащей практики по этому вопросу?

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

Заранее спасибо!:)

Ответы [ 3 ]

2 голосов
/ 27 января 2011

Microsoft фактически создает библиотеку анти-межсайтовых сценариев, хотя, когда я смотрел на нее, она была не просто оберткой вокруг различных функций кодирования в .NET Framework. Библиотека AntiXSS

Двумя основными угрозами, которые вы должны учитывать, являются:

  • Внедрение скрипта
  • Внедрение HTML-тега

Оба из них могут быть смягчены (в некоторой степени) с помощью пользовательского ввода в кодировке HTML перед повторным отображением его на странице.

Существует также библиотека AntiSamy, доступная из проекта OWASP, предназначенная для нейтрализации.злонамеренный ввод в веб-приложения.

0 голосов
/ 30 января 2011

Ответ Джимми - хороший метод для решения проблем «Проверка входных данных и представление».

Но вы можете самостоятельно отфильтровать входные данные текстового поля, прежде чем передавать его стороннему API, такому как AntiSamy и так далее.

Я обычно использую следующие элементы управления:

1) минимизирую длину значения текстового поля: не только на стороне клиента, но и на стороне сервера (вы не поверите, но это не так.Атаки переполнения буфера также в сценариях)

2) Примените элемент управления «Белый список» к символам, которые пользователи пишут в текстовое поле (на стороне клиента и на стороне сервера).Черный список менее безопасен, чем Белый список

Очень важно, чтобы эти элементы управления использовались в серверной части.

Конечно, очень легко забыть некоторые элементы управления, поэтому AntiSamy и подобные продукты очень полезны.,Но я советую вам реализовать свой персональный API «Проверка ввода».

Защита программного обеспечения - это не приобретение какого-либо стороннего продукта, а программирование другим способом.

0 голосов
/ 27 января 2011

Я пробовал это на sharepoint как с одной строкой текста, так и с несколькими строками текста, и в обоих случаях sharepoint кодирует значение.(я не получаю оповещения)

Какой SharePoint вы используете?

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