反XSS转义函数的Javascript实现
Javascript implementation of anti-XSS escaping functions
OWASP XSS(跨站点脚本)预防备忘单列出了通过适当地转义数据来防止XSS攻击的规则,其中包含指向Java语言中这些转义方法的参考实现的链接(HTML转义、属性转义、Javsacrept转义、CSS转义、URL转义)。
在Javascript中是否有这些实现,或者我必须"自己滚动"?
更新:我指的是在浏览器中运行的Javascript。例如,对于转义使用jQueryhtml()方法渲染的文本(当然text()更安全),或者转义使用模板引擎(如EJS)渲染的数据。
更新2:ESAPI JavaScript似乎是我想要的,尽管它仍然只是"Alpha质量"
由于您倾向于在(客户端)JavaScript中使用DOM,因此不需要HTML和HTML属性转义。例如,给定不可信输入input
,
var el = document.createElement('div');
el.setAttribute('title', input);
el.appendChild(document.createTextNode(input));
是完全安全的,因为您从一开始就没有构建(序列化)HTML。
如果您正在从JavaScript代码中编写自定义JavaScript或CSS,则说明您做错了什么(包括使用document.write
或一些数据URI脚本src可憎的东西),因此两者都没有提供转义。您可以简单地预先编写代码或样式,然后调用适当的函数或设置适当的类。
CCD_ 3和CCD_。
您可以使用js-xss库。对我来说,它适用于我一直用来将脚本注入HTML的测试用例。
相关文章:
- 一个javascript实现base64图像编码并将结果写入文本文件
- 如何通过JavaScript实现自动提交表单进行搜索
- 用Javascript实现算法
- 如何使用nodejs/javascript实现地理编码响应
- 需要使用JavaScript实现我的算法
- 确定当前的Javascript实现是否为Rhino
- jPlayer-通过Javascript实现回放功能
- 使用Javascript实现Rails性能
- 用Javascript实现了带有合并排序算法的反转计数
- 如何使用Javascript实现以下目标
- 任何 JavaScript 库的性能都可以像 Cut The Rope JavaScript 实现一样好吗?
- 从jQuery/JavaScript实现滚动的替代方法
- Javascript 实现差异(以 2 个日期之间的天数为单位)
- 使用 JavaScript 实现 PHP 字符串异或
- 二叉搜索树 JavaScript 实现 - 删除函数
- 使用 JavaScript 实现 Brainf*ck 循环
- 通过使用 json 和 javascript 实现数据可视化
- 使用 JavaScript 实现算法
- 如何使用 JavaScript 实现自动化登录到脚本编辑器中的消息窗口
- 在HTML5中使用JavaScript实现图像数组的拖放