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

Я создаю веб-часть для сайта Sharepoint, которая позволяет пользователю вводить информацию в текстовое поле, которое в конечном итоге будет показано другим пользователям. Проблема в том, что мне нужно разрешить простое форматирование (полужирный, курсив и т. Д.), А также разрешить пользователю вводить URL (a SPHttpUtility.HtmlEncodeAllowSimpleTextFormatting (string), которая делает почти то, что мне нужно. Это позволяет простое форматирование, такое как , и т. Д. Проблема в том, что я также хочу разрешить гиперссылки. Кто-нибудь знает, есть ли какие-то встроенные функции в Sharepoint/ASP.NET, которые делают то, что я хочу?

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

1 ответ

Решение

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

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

Другие вопросы по тегам