替代innerHTML javascript -安全漏洞

Replacement for innerHTML javascript -security vulnerability

提问人:ArunKarthick 提问时间:3/29/2023 更新时间:3/29/2023 访问量:111

问:

从安全漏洞的角度来看,有没有替换innerHTML的解决方案

 td.innerHTML = "<b>"+change_obj["old_end_cust_id"]+"</b>," + "<br>" + change_obj["old_address"].join(",<br>")

我们尝试直接创建javascript元素,如下所示,它有效,但过程很长

        var parentDivTag11 =  document.createElement("div");
        var parentBoldTag11 = document.createElement("b");
        parentBoldTag11.textContent = change_obj["old_end_cust_id"]+",";
        parentDivTag11.appendChild(parentBoldTag11);

        for (let i = 0; i < change_obj["old_address"]?.length; i++) {
            var divTag11 = document.createElement("div");
            divTag11.textContent=change_obj["old_address"][i]+",";;
            parentDivTag11.append(divTag11);
        }
       
        td.appendChild(parentDivTag11);
JavaScript XSS innerHTML 清理

评论

3赞 Ar Rakin 3/29/2023
我认为这是最好的方法。textContent
1赞 kennarddh 3/29/2023
我认为这是最安全的,但您可以尝试转义输入。textContent
0赞 somethinghere 3/29/2023
一种安全的方法是使用并附加返回的元素。DOMParser 不解析脚本。DOMParser
1赞 T.J. Crowder 3/29/2023
前面的问题及其答案很好地涵盖了这个主题。
2赞 T.J. Crowder 3/29/2023
@somethinghere - 他们没有。它用于解析,而不是清理。(解析启用清理,但这只是第一步。消毒是一项单独的工作

答: 暂无答案