У меня есть приложение React, которое имеет форму ввода. Пользователь заполнит эту форму, и после завершения эти данные будут отправлены через POST-запрос в службу (приложение Spring Boot), которая сохранит данные. Веб-приложение также имеет функцию поиска и отправляет параметры запроса через GET-запрос в то же приложение Spring Boot.
Я очищаю данные, когда они получены в приложении Spring Boot, с помощью фильтра.
Мой вопрос таков: поскольку серверная сторона проверяет данные и удаляет возможный код атаки XSS, необходимо ли санировать данные, введенные в форму, на стороне приложения React? Если это так, буду ли я делать это непосредственно перед вызовом API? т.е. есть код для удаления опасных символов до того, как данные будут добавлены в полезную нагрузку POST, или как только данные будут считаны из текстовых полей ввода?
Я прочитал множество постов в сети и ответы здесь на SO. Я понимаю, что наиболее важным является проверка на стороне сервера, поскольку клиентскому коду нельзя доверять. Я не совсем понимаю, что клиентский код доступен любому возможному злоумышленнику. Разве они не могут просто обойти какой-либо механизм проверки на стороне клиента, что делает бессмысленным добавление клиента в первую очередь? Единственное преимущество, которое я вижу сейчас, - это обнаружение опасного ввода как можно раньше.
Спасибо