Как предотвратить использование XSS при разрешении простого форматирования и гиперссылки в веб-части Sharepoint?

Я создаю веб-часть для сайта Sharepoint, которая позволяет пользователю вводить информацию в текстовое поле, которое в конечном итоге будет показано другим пользователям. Проблема в том, что мне нужно разрешить простое форматирование (полужирный, курсив и т. Д.), А также разрешить пользователю вводить URL-адрес (a ‹a href =" .....). Я не хочу раскрывать эксплойт XSS, поскольку Я не верю, что пользователи, использующие мою веб-часть, не делают этого.

Каковы мои лучшие альтернативы, когда я не хочу писать полноценный парсер HTML?

Существует SPHttpUtility.HtmlEncodeTextSllow / a> это почти то, что мне нужно. Он позволяет выполнять простое форматирование, такое как ‹B›, ‹I› и т. Д. Проблема в том, что я также хочу разрешить гиперссылки. Кто-нибудь знает, есть ли в Sharepoint / ASP.NET какие-то встроенные функции, которые делают то, что я хочу?

Если я включаю «Расширенный форматированный текст» в столбце «Несколько строк текста» в списке Sharepoint, кажется, что он делает именно то, что я хочу (он позволяет форматировать и гиперссылки, но не злые вещи), но я не могу понять, как и где это делает это?


person Per    schedule 16.11.2009    source источник


Ответы (1)


У Microsoft есть проект на CodePlex под названием AntiXSS, который, кажется, делает то, что я хочу.

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

person Per    schedule 17.11.2009