Где убежать от HTML?

Я пишу код с использованием angularjs, node.js и mongodb, который позволяет пользователям добавлять комментарии, которые хранятся в mongodb сервером, работающим на node.js.

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

Если я сбегу на сервере, не слишком ли поздно? Я хотел бы перехватить его на маршруте сервера и выполнить манипуляцию, прежде чем он будет сохранен в mongo.

Или, в контексте простого хранения комментариев, мне вообще нужно делать что-то подобное?

Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
3
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Однако вы можете рассмотреть возможность проверки этих текстов, чтобы избежать попыток некоторых людей ввести код JavaScript в комментарий, что приведет к атаке XSS.

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

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