Дано:
Есть форма, которую можно заполнить. Данные из формы записываются в базу данных, потом отображаются на генерируемой HTML-странице. То есть это простое добавление комментариев на страницу.
Что захочет сделать скрипт-кидди?
- Навредить мне: грохнуть базу (SQL injection).
- Навредить конечному пользователю: испортить вёрстку, добавив в своё сообщение кучу html-тэгов, а что-то зловредное на js.
Как бороться?
В первом случае нужно просто аккуратно работать с базой данных, а не как это обычно делается. Во втором случае нужно заменять все неудобные символы на соответствующий код.
Вопрос:
Как это делают? Есть типовые советы, алгоритмы, готовые библиотеки? Можно посмотреть готовую реализацию? В лоросорцах пока не дошёл до этого (или там заюзано что-то готовое, дабы велосипед не городить?), буду рад ссылкам на место, где там реализована обработка постов.
Хотя задача совершенно абстрактная, прошу принять во внимание, что у меня Apache Tomcat.