Я использую приведенный ниже код, который правильно очищает URL-адрес.
Но все равно я продолжаю получать Исключение Sonar «Измените этот код, чтобы не создавать URL-адрес из контролируемых пользователем data."
Строка await fetch(sanitizedURL, options) выдает исключение Sonar.
Какое изменение необходимо в приведенном ниже коде для решения проблемы проблема?
function sanitizeURL(inputURL) {
try {
const parsedURL = new URL(inputURL);
const domainsList = [inputURL];
if (!schemesList.includes(parsedURL.protocol)) {
throw new Error('Invalid URL scheme');
}
if (!domainsList.some(domain => domain.includes(parsedURL))) {
throw new Error("URL not in allowed list");
}
return parsedURL.toString();
} catch (error) {
console.log("Caught error: ", error);
throw error;
}
}
async function fetchWithCheck(url, options = {}, responseType = "json", errorMessage = null) {
let data;
try {
const sanitizedURL = sanitizeURL(url);
const response = await fetch(sanitizedURL, options);
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
switch (responseType) {
case "json":
data = await response.json();
break;
default:
throw new Error(`Unsupported response type: ${responseType}`);
}
return data;
} catch (error) {
console.log(logMessage, error);
const newError = new Error("problem fetching data");
newError.cause = error;
throw newError;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... olled-data
Ошибка FetchURL: «URL из данных, контролируемых пользователем» ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка выдачи NodeJS «URL-адрес из данных, контролируемых пользователем»
Anonymous » » в форуме Javascript - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Карты Google в запросе расстояния между пользователем и пользователем [закрыто]
Anonymous » » в форуме Android - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-