我有这样的代码
$.each(inputOptions, function (key, element) {
$options.append("<option value=" + element.value + ">" + element.key + "</option>>");
});
创建动态字段的一切都很好,除非'element.key'实际上是有效的JS脚本!所以像alert(“ XSS”);会产生警报。如何预防呢?我了解从浏览器的角度来看,它与内联JS相同,但是仍然有任何解决方法吗?
最佳答案
使用DOM方法或它们的jQuery抽象,将字符串视为文本而不是HTML。
$options.append(
$("<option />")
.attr("value", element.value)
.text(element.key)
);
关于javascript - 防止在输入字段中运行JS代码,然后由JS添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393393/