очистка данных перед вызовом API в веб-приложении - PullRequest
0 голосов
/ 21 марта 2019

У меня есть приложение React, которое имеет форму ввода. Пользователь заполнит эту форму, и после завершения эти данные будут отправлены через POST-запрос в службу (приложение Spring Boot), которая сохранит данные. Веб-приложение также имеет функцию поиска и отправляет параметры запроса через GET-запрос в то же приложение Spring Boot.

Я очищаю данные, когда они получены в приложении Spring Boot, с помощью фильтра.

Мой вопрос таков: поскольку серверная сторона проверяет данные и удаляет возможный код атаки XSS, необходимо ли санировать данные, введенные в форму, на стороне приложения React? Если это так, буду ли я делать это непосредственно перед вызовом API? т.е. есть код для удаления опасных символов до того, как данные будут добавлены в полезную нагрузку POST, или как только данные будут считаны из текстовых полей ввода?

Я прочитал множество постов в сети и ответы здесь на SO. Я понимаю, что наиболее важным является проверка на стороне сервера, поскольку клиентскому коду нельзя доверять. Я не совсем понимаю, что клиентский код доступен любому возможному злоумышленнику. Разве они не могут просто обойти какой-либо механизм проверки на стороне клиента, что делает бессмысленным добавление клиента в первую очередь? Единственное преимущество, которое я вижу сейчас, - это обнаружение опасного ввода как можно раньше.

Спасибо

1 Ответ

0 голосов
/ 21 марта 2019

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

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

...