Javascript 修复由强化检查标记的动态代码注入问题
我正在尝试对安全漏洞运行fortify code checker,它正在标记我使用setTimeout的一些实例,以及标准第三方代码库中的一些实例。不知道如何修复它们 我的JS文件Javascript 修复由强化检查标记的动态代码注入问题,javascript,jquery,fortify,javascript-security,Javascript,Jquery,Fortify,Javascript Security,我正在尝试对安全漏洞运行fortify code checker,它正在标记我使用setTimeout的一些实例,以及标准第三方代码库中的一些实例。不知道如何修复它们 我的JS文件 var hasHash = document.location.hash; if (hasHash) { if ($.browser.msie) { setTimeout(function () { MO
var hasHash = document.location.hash;
if (hasHash) {
if ($.browser.msie) {
setTimeout(function () {
MOM.utils.scrollTo(MOM.$window.scrollTop() - 60);
}, 1000);
}
else {
MOM.utils.scrollTo(MOM.$window.scrollTop() - 60);
}
}
文件all.js将未验证的用户输入解释为
第7982行。在运行时解释用户控制的指令可以
允许攻击者执行恶意代码
第1行和第4行上的标志(设置超时)
bootstrap.editable.js中的超时函数,我正在使用它来实现一些表单字段的内联编辑
if(this.options.highlight) {
var $e = this.$element,
bgColor = $e.css('background-color');
$e.css('background-color', this.options.highlight);
setTimeout(function(){
if(bgColor === 'transparent') {
bgColor = '';
}
$e.css('background-color', bgColor);
$e.addClass('editable-bg-transition');
setTimeout(function(){
$e.removeClass('editable-bg-transition');
}, 1700);
}, 10);
}
selectivizr.js中的setInterval函数
if (enabledWatchers.length > 0) {
setInterval( function() {
for (var c = 0, cl = enabledWatchers.length; c < cl; c++) {
var e = enabledWatchers[c];
if (e.disabled !== e.$disabled) {
if (e.disabled) {
e.disabled = false;
e.$disabled = true;
e.disabled = true;
}
else {
e.$disabled = e.disabled;
}
}
}
},250)
}
if(enabledWatchers.length>0){
setInterval(函数(){
for(var c=0,cl=enabledWatchers.length;c
在所有3个文件上都出现相同的错误。不知道如何替换这些JS命令,也不知道如何处理第三方库。处理这些安全漏洞的好方法是什么。Selectivizr主要用于使UI与EI 9或以下版本兼容。主要关注CSS相关的东西。而且数据并非来自外部来源。因此,我们可以认为它是假阳性,但我不确定坦白地说。但您可以尝试使用条件注释或htmlsiv.js作为Selectivizr的替代。jsSelectivizr主要用于使UI与EI 9或以下版本兼容。主要关注CSS相关的东西。而且数据并非来自外部来源。因此,我们可以认为它是假阳性,但我不确定坦白地说。但您可以尝试使用条件注释或htmlsiv.js作为Selectivizr.js的替代方案