阻止从输入字段运行JS代码然后由JS添加

时间:2017-06-06 14:57:01

标签: javascript xss option

我有这样的代码

       $.each(inputOptions, function (key, element) {
            $options.append("<option value=" + element.value + ">" + element.key + "</option>>");
        });

创建动态字段,一切都很好,除非&#39; element.key&#39;实际上有效的JS脚本!所以警告(&#34; XSS&#34;); 之类的东西会产生警报。怎么预防这个?据我所知,从浏览器的角度来看,它与内联JS一样,但仍有任何解决方法吗?

1 个答案:

答案 0 :(得分:3)

使用DOM方法或jQuery抽象来将字符串视为文本而不是HTML。

$options.append(
    $("<option />")
        .attr("value", element.value)
        .text(element.key)
);