.NET библиотеки для очистки ввода? - PullRequest
12 голосов
/ 02 июня 2009

Существуют ли какие-либо тщательно протестированные библиотеки .NET для очистки ввода от таких вещей, как внедрение в скрипт / sql?

Ответы [ 6 ]

9 голосов
/ 02 июня 2009

Мне нравится использовать библиотеку Microsoft AntiXSS . Это бесплатно и довольно просто в использовании.

Для внедрения SQL я всегда использую параметры. Опять же, они просты в использовании, и мне не нравится пытаться избежать специальных символов. Это рецепт катастрофы, если вы спросите меня.

8 голосов
/ 02 июня 2009

SQL-инъекция и межсайтовый скриптинг (a.k.a. XSS или Script Injection) - это разные проблемы.

1) Внедрение SQL очень просто, всегда используйте параметризованные запросы (SQLParameter) и старайтесь НИКОГДА не делать sp_exec @query в хранимых процедурах T-SQL. Параметризованные запросы .Net не защитят от внедрения второго порядка.

2) XSS труднее повсеместно смягчить, так как в HTML-документы можно вставить JavaScript. Рекомендации по использованию AntiXSS для кодирования пользовательских данных верны. Используйте эту библиотеку перед вставкой пользовательских данных в выходные документы. К сожалению, если вы используете серверные элементы управления ASP.Net, кодирующие все данные, это может привести к двойному кодированию и отображению артефактов. Это происходит потому, что некоторые управляющие свойства кодируют данные, а другие нет. Обратитесь к этой таблице , чтобы узнать свойства, закодированные по умолчанию. Используйте Anti-XSS перед назначением любых свойств, которые не кодируют.

6 голосов
/ 02 июня 2009

Используйте параметризованные команды вместо того, чтобы пытаться дезинфицировать строки для защиты от SQL-инъекций.

3 голосов
/ 02 июня 2009

AntiXSS может использоваться для предотвращения атак XSS.

0 голосов
/ 30 октября 2012

Если вы используете ASP.NET 4.5, теперь вы можете использовать функции AntiXSS, которые поставляются в рамках .

Это части внешней библиотеки AntiXSS, которые были включены в ASP.NET 4.5:

  • HtmlEncode, HtmlFormUrlEncode и HtmlAttributeEncode
  • XmlAttributeEncode и XmlEncode
  • UrlEncode и UrlPathEncode (новый)
  • CssEncode
0 голосов
/ 23 августа 2011

Я использовал библиотеку MS Anti XSS. Это очень полезно и просто в использовании. Попробуйте сами, вам понравится. Текущая версия 4.0.

...