javascript - 防止在输入字段中运行JS代码,然后由JS添加

标签 javascript xss option

我有这样的代码

       $.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/

相关文章:

javascript - 具有外部依赖项的 Jasmine 单元测试指令失败并出现 TypeError : '[object Object]'

php - PHP的MySQL查询多个更新行与输入选项

magento - 获取 bundle 产品的单个选项 ID

javascript - 无论如何,有没有像.net数据注释这样的Angularjs自动化路由

Javascript 卸载页面条件

javascript - 如何将 SVG 附加到 <div>?

security - 哪些浏览器支持 HttpOnly cookie?

asp.net-mvc - 我使用 AntiXSS 但我仍然可以破解页面

javascript - 调用javascript函数错误

jquery - 如何重新计算期权:首次计算后更改期权时选择?