Я пишу код с использованием angularjs, node.js и mongodb, который позволяет пользователям добавлять комментарии, которые хранятся в mongodb сервером, работающим на node.js.
Моя стратегия - заменить <и> на gt и lt. Где мне это делать? Если я сделаю это в клиенте, кто-то может обойти это, отправив сообщение на мой сервер, используя что-то вроде почтальона, хотя google captcha может хоть немного помочь там.
Если я сбегу на сервере, не слишком ли поздно? Я хотел бы перехватить его на маршруте сервера и выполнить манипуляцию, прежде чем он будет сохранен в mongo.
Или, в контексте простого хранения комментариев, мне вообще нужно делать что-то подобное?


Вам не нужно совершать побег самостоятельно. MongoDB отлично справляется со специальными символами. Поскольку он не использует SQL, не беспокойтесь о каких-либо SQL-инъекциях. Вы можете просто сохранить именно то, что пользователь вводит в комментарии, напрямую в БД.
Однако вы можете рассмотреть возможность проверки этих текстов, чтобы избежать попыток некоторых людей ввести код JavaScript в комментарий, что приведет к атаке XSS.
Что касается того, что вы хотите делать с данными на стороне клиента, вы должны, если возможно, всегда обрабатывать эти данные в бэкэнде (на стороне сервера), потому что, как только ваше приложение или веб-сайт публикуются, они подвергаются взлому. инструменты.