Я бы посоветовал взглянуть на Проект ESWI OWASP . Они создали библиотеку кодирования, которая поставляется на разных языках, включая Java, .NET, PHP, Classic ASP, Cold Fusion, Python и Haskell. У него есть инструменты для кодирования ненадежных данных для контекста, с которым вы имеете дело:
- encodeForHTML
- encodeForHTMLAttribute
- encodeForJavaScript
- encodeForCSS
- encodeForURL
Он также обслуживает проверку входных данных.
Некоторые организации, использующие ESAPI, включают American Express, Apache Foundation, Booz Allen Hamilton, Aspect Security, Foundstone (McAfee), Hartford, Infinite Campus, Lockheed Martin, MITER, ВМС США - SPAWAR, Всемирный банк, Институт SANS.
Я также рекомендую прочитать их XSS Prevention Cheat Sheet , в которой описаны лучшие методы построения вашей защиты от XSS (по сути, это сводится к тому, что вы ДОЛЖНЫ использовать синтаксис escape для части HTML документ, в который вы помещаете ненадежные данные).