我正在尝试为安全漏洞运行强化代码检查程序,它正在标记我使用setTimeout的一些实例以及标准第三方代码库中的一些实例。不知道如何修复它们。
我的JS文件
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行(setTimeout)的标志
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)
}
在所有3个文件上获得相同的错误。不知道如何替换这些JS命令或如何处理第三方库。处理这些安全漏洞的好方法是什么。
答案 0 :(得分:0)
Selectivizr主要用于使UI与EI 9或更低版本兼容。主要关注CSS相关的东西。数据不是来自外部来源。所以我们可以认为这是误报但我不确定坦率地说。但您可以尝试使用条件注释或htmlshiv.js替代Selectivizr.js