与textContent相比,以下innerHTML属性是否存在安全风险?

时间:2017-12-09 22:44:02

标签: javascript html security innerhtml

我已经看过一些关于在javascript中使用.innerHTML的危险的文章(和这里的帖子)。这些示例使用了非常复杂的代码片段,如果它是引起同样问题的补充代码,我就无法解决。

在我的网站上,我在菜单上有一个简单的点击功能,当点击时使用.innerHTML更改单词" menu"到"关闭"然后切换回" menu"再次单击时(以及切换一些简单样式更改的CSS类)。

以下代码是否仍存在安全风险?如果是这样,我应该使用textContent吗?或者,如果innerHTML直接链接到数据库,这种事情只是一个问题吗?

JS

var mobileMenu = false;

function toggleMobileMenu() {
    if (mobileMenu === false) {

       box.classList.add("active");
       button.innerHTML = "Close";
       mobileMenu = true;

    } else {

      box.classList.remove("active")
      button.innerHTML = "Menu";
      mobileMenu = false;

    }
}

button.addEventListener("click", function() {
    toggleMobileMenu();
}, false)

0 个答案:

没有答案