В уже написанном приложении есть метод getHeaders (String cookie), который создает новый объект HttpHeader и устанавливает тип содержимого и cookie в заголовок.Код ниже:
private HttpHeaders getHeaders(String cartIdCookies) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.add(HttpHeaders.COOKIE, cartIdCookies);
headers.add(HttpHeaders.HOST, "www.karan.com");
return headers;
}
Этот метод используется для генерации requestEntity, а затем используется в restTemplate exchange () для получения httpresponse.Код ниже:
HttpHeaders headers = getHeaders(postCookies);
HttpEntity<T> requestEntity = new HttpEntity<>(requestModel, headers);
response = restTemplate.exchange(url, method, requestEntity, JsonNode.class);
Сканирование Fortify показывает проблему, связанную с манипулированием заголовком именно на этой строке
headers.add(HttpHeaders.COOKIE, cartIdCookies);
Если я комментирую эту строку и запускаю, она не выдаетвопрос.Но эта строка нужна в заголовке, так как они добавляют много информации в cartIdCookies и добавляются в виде cookie.
Ошибка фортификации:
Метод getHeaders () в GenericRestTemplate.java включает неподтвержденные данные в заголовок ответа HTTP в строке 71. Это включает такие атаки, как отравление кэша,межсайтовый скриптинг, кража между пользователями, угон страницы, манипулирование файлами cookie или открытое перенаправление.
Я смотрю исправление этой ошибки. Я добавил фиктивные операторы проверки выше, добавьте оператор cookie, чтобы увидеть,это не выбросит эту ошибку.Но это все еще показывает.Я искал в Интернете, чтобы узнать, есть ли какой-либо способ очистки файла cookie перед его добавлением.Но я ничего не нашел.