Как избежать подделки ответа api при загрузке spring

#java #angular #spring #spring-boot

#java #angular #spring #spring-boot

Вопрос:

Как предотвратить подделку ответа при сбросе вызовов API из Spring Boot.

Я использую интерфейс, поскольку вызовы Angular и backend API разрабатываются при загрузке Spring.

После успешного входа в систему я отправляю ответ, как показано ниже

{ «LoginStatus»:»Успех», «токен»: «токен jwt» }

Для входа в систему при сбое я отправляю ответ, как показано ниже { «LoginStatus»:»Сбой» }

Если это успешный angular с проверкой LoginStatus, и он перенаправит на панель мониторинга, и теперь проблема в том, что кто-то подделывает ответ об ошибке и меняет его на success . это перенаправление на панель инструментов.

Как предотвратить перенаправление на страницу панели мониторинга?

Комментарии:

1. Ваш BE не должен предоставлять какие-либо (защищенные) данные пользователю, не прошедшему проверку подлинности, т.Е. Запрос без действительного JWT. Поэтому злоумышленник в лучшем случае сможет получить доступ к пустой панели мониторинга. Я не вижу проблемы в перенаправлении, когда BE ведет себя правильно.

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

3. Итак, вы пытаетесь решить проблему UX для злоумышленника? В любом случае вы также можете проверить токен на стороне пользовательского интерфейса.

4. Нет, не со стороны UX. я спрашиваю о том, как исправить эту проблему с помощью серверной части (Spring Boot) или интерфейса (Angular)

5. Разве сервер не отвечает 401 на ваш первый запрос в панели мониторинга? Тогда ваш HttpInterceptor в angular должен просто перенаправить обратно на страницу ввода. Как изменяется repsonse? Это атака «человек посередине»?