首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反XSS转义函数的Javascript实现

问反XSS转义函数的Javascript实现
EN

Stack Overflow用户
提问于 2015-12-10 19:30:00
回答 2查看 3.6K关注 0票数 1

OWASP XSS (Cross Site Scripting) Prevention Cheat Sheet列出了通过适当地转义数据来防止XSS攻击的规则,并包含指向这些转义方法在Java语言中的参考实现的链接(HTML转义、属性转义、Javsacript转义、CSS转义、URL转义)。

在Javascript中有没有这样的实现,或者我必须“自己滚”?

更新:我指的是在浏览器中运行Javascript。例如,用于转义使用text html()方法呈现的文本(当然jQuery ()更安全),或者转义使用模板引擎(如EJS )呈现的数据。

UPDATE2:ESAPI JavaScript似乎就是我想要的,尽管它仍然只是"Alpha质量“。

EN

回答 2

Stack Overflow用户

发布于 2015-12-10 19:53:20

由于您倾向于在(客户端) JavaScript中使用DOM,因此不需要使用HTML和HTML属性转义。例如,给定不受信任的输入input,

代码语言:javascript
复制
var el = document.createElement('div');
el.setAttribute('title', input);
el.appendChild(document.createTextNode(input));

是完全安全的,因为您从一开始就不会构造(序列化) HTML。

如果您正在从JavaScript代码编写自定义JavaScript或CSS,那么您正在做一些错误的事情(包括使用document.write或一些令人厌恶的数据URI脚本src ),因此没有为这两种代码提供转义。您可以简单地预先编写代码或样式,然后调用适当的函数或设置适当的类。

encodeURI和encodeURIComponent可用于对URI或其组件进行编码。

票数 2
EN

Stack Overflow用户

发布于 2018-09-12 21:30:06

您可以使用js-xss库。对我来说,它对我一直用来将脚本注入HTML的测试用例起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34200757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档