セキュリティ脆弱性のために強化コードチェッカーを実行しようとしていますが、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.上でソースコードとして未検証のユーザー入力を解釈します。私はいくつかのフォームフィールドのインライン編集を実装するために使用していますbootstrap.editable.jsでライン1とライン4(のsetTimeout)
タイムアウト機能上の
国旗。すべての3つのファイルに同じエラーを取得selectivizr.js
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(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);
}
のsetInterval機能。これらのJSコマンドをどのように置き換えるか、サードパーティのライブラリをどう扱うかは不明です。これらのセキュリティ上の脆弱性に対処するための良いアプローチは何ですか?