У меня есть библиотека вкладок javascript, которую я использовал, это всегда было хорошо, но с нашим недавним обновлением Fortify мы получаем критически важную ошибку в окне .Location часть кода (редактирования, должен отметить, что это исходный код, перед тем, как изменяется):Вкладки Javascript вызывают критическую ошибку (XSS) в HP fortify scan
var b=window.location.href;
Наша первая модификация была:
var b = (escape(window.location.href.toString()));
Когда это не удалось, мы нашли и попробовал следующее:
var b = (encodeID(window.location.href.toString()));
function encodeID(s) {
if (s==='') return '_';
return s.replace(/[^a-zA-Z0-9.-]/g, function(match) {
return '_'+match[0].charCodeAt(0).toString(16)+'_';
});
}
, но другой запуск Fortify все еще вызывает критические ошибки. Также пытался:
var b=encodeURIComponent(window.location.href);
Критический.
У кого-нибудь есть мысли по поводу его прохождения?
взгляните на это [ответ] (http://stackoverflow.com/a/24089350/3293044) –
Я читал сегодня, но, я думаю, я не понимаю. Он говорит, что вариант 1 безопасен. Исходный код в библиотеке имеет var b = window.location.href; это должно быть безопасным, но это тоже важно. Я не назначаю адрес, по которому он идет, и за исключением того, что пользователь щелкает вкладку, у них нет других параметров ввода. Я понимаю, что кто-то может скопировать адрес из окна и использовать переданный параметр для лечения; однако я не понимаю, как это исправить. Все мои попытки выше встречали критические ошибки. –