Если бы существовала такая система и ваш сайт был даже умеренно заполнен, вы бы получили лот обновлений в реальном времени.
Реальность такова, что вы, скорее всего, заставите людей пытаться добавить js в свои профили, отправляя на ваш сайт странные вещи из любопытства и злобы. Вы можете регулярно проверять файлы журналов на наличие этих вещей, чтобы убедиться, что ваши действия и представления защищены от таких атак, но в долгосрочной перспективе это невозможно.
Проблема в том, как узнать, является ли ваш ввод вредоносным? В зависимости от вашего сайта, только что упомянутые вами данные могут быть совершенно правильными.
Если вы беспокоитесь о внедрении SQL-кода, вам следует документально подтвердить и тщательно протестировать свои find_by_sql
заявления.
Если вы беспокоитесь о неэкранированном пользовательском вводе, вы можете перейти на erubis и включить экранирование по умолчанию.
Более актуальной проблемой для большинства сайтов является неправильное использование предоставляемых вами функций, например, отправка слишком большого количества сообщений, размещение слишком большого количества вопросов, слишком частое голосование, удаление содержимого и т. Д. ... для этого вы можете настроить свой веб-сервер так, чтобы он прекращал пользователь делает слишком много запросов (вы можете легко настроить это с помощью nginx) и накладывает ограничение скорости в коде вашего приложения.