Рекомендуется использовать белый список. Мы используем Antisamy для него и некоторые пользовательские выражения XPath. с антисемия вы можете определить, какие теги и какие атрибуты разрешены. Для атрибутов вы можете определить списки допустимых значений или регулярные выражения, которые описывают допустимые значения. Проблема межсайтового скриптинга может быть достаточно хорошо устранена с помощью белого списка.
http://www.owasp.org/ содержит много полезных ресурсов и рекомендаций по безопасности веб-приложений. (Таким образом, вы можете прочитать о других проблемах, таких как подделка межсайтовых запросов, внедрение SQL, ...)
Какие у вас есть вопросы об обработке изображений или вложений?