强化跨站点脚本:DOM 个问题
Fortify Cross-Site Scripting: DOM issues
如何解决最后两行的这个问题?
接收器:jQuery()
封闭方法:handleFilter()
污点标志:WEB、XSS
function handleFilter(panelId, textFilterId) {
var text = $('#' + textFilterId).val();
if(text === ''){
$('.removedByFilter').css('display', 'visible');
} else {
text = text.toLowerCase();
$('.removedByFilter').css('display', 'visible');
$('.' + panelId + ' .ui-treetable-data tr').removeClass('removedByFilter');
$('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').addClass('removedByFilter');
$('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').css( 'display', 'none' );
}
}
如果有任何用户输入或数据可以插入,为了避免DOM XSS 你可以使用js编码器<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))% >。有关详细信息,您可以阅读 https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html。
如果没有用户干预(对于有问题的变量),即它是系统生成的值或硬编码值,则可以将其视为误报。
此外,应检查来自 DB 的值。
我希望这能回答你的问题。
如何解决最后两行的这个问题?
接收器:jQuery()
封闭方法:handleFilter()
污点标志:WEB、XSS
function handleFilter(panelId, textFilterId) {
var text = $('#' + textFilterId).val();
if(text === ''){
$('.removedByFilter').css('display', 'visible');
} else {
text = text.toLowerCase();
$('.removedByFilter').css('display', 'visible');
$('.' + panelId + ' .ui-treetable-data tr').removeClass('removedByFilter');
$('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').addClass('removedByFilter');
$('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').css( 'display', 'none' );
}
}
如果有任何用户输入或数据可以插入,为了避免DOM XSS 你可以使用js编码器<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))% >。有关详细信息,您可以阅读 https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html。
如果没有用户干预(对于有问题的变量),即它是系统生成的值或硬编码值,则可以将其视为误报。 此外,应检查来自 DB 的值。
我希望这能回答你的问题。