gooseNjuice
@gooseNjuice
JavaScript Fullstack

Как убедиться, что содержимое параметра запроса безопасно?

Первый раз что-то пишу на Spring. Добавляю к уже имеющемуся в репо коду небольшой сервис, которые принимает параметр запроса с клиента и передаёт его в сторонний API.
Сервис содержит два класса, не считая интерфейса:
Контроллер
@RestController
@RequestMapping("/store/search")
@CrossOrigin("*")
public class APToid {

    private AptoidSearch aptoidSearch;

    @GetMapping
    public ResponseEntity<String> searchInAptoidStore(@RequestParam("query") String query) {
        return aptoidSearch.aptoidSearch(query);
    }
}

Сервис
@Service
public class AptoidSearchImpl implements AptoidSearch {

    private static final String uri = "https://ws75.aptoide.com/api/7/apps/search?query=";

    @Override
    public ResponseEntity<String> aptoidSearch(String query) {
        RestTemplate restTemplate = new RestTemplate();
        return restTemplate.getForEntity(uri + query, String.class);
    }
}

Строка запроса, как вы видите, берётся непосредственно из клиента. Какие есть способы убедиться, что клиент не передаёт мне какое-нибудь опасное говнецо?
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
xez
@xez
TL Junior Roo
gooseNjuice (), надо посмотреть что делает с этой строкой сервис AptoidSearch и, в зависимости от этого, реализовывать или не реализовывать какую-то валидацию строки.
Универсального метода проверки не существует.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы