我需要显示通过跨域请求加载的外部资源,并确保只显示" 安全 "内容.
可以使用Prototype的String#stripScripts删除脚本块.但处理程序如onclick或onerror仍在那里.
是否有任何图书馆至少可以
embed或object).那里有任何与JavaScript相关的链接和示例吗?
你们知道Javascript中的一个可靠的库/函数来清理用户输入吗?
主要用于防止XSS攻击和排序.
如果所述库可以选择允许某些标签等,那将是一个加号.
编辑:我在后端使用node.js.这就是为什么我需要一个javascript库来做这种事情.
人们在这里推荐Google Caja的一部分: 在Node.js /服务器端javascript中预防XSS
但我只是希望得到更多的选择.
我有一个要防止 XSS 的 Express 应用程序。
我将一些关于 XSS 的页面(包括OWASP的页面)改成了红色,鉴于我的应用程序特性,我决定编写一个中间件,<>"'在我在路由中使用请求参数之前,对 HTML 实体(更准确地说是 XML 实体,包括)进行编码。
我还在连接时刷新会话 cookie,以防止 cookie 被盗。
我如何构建我的应用程序
我的感受
我的结论是,通过这种行为(在外部数据到来时清理它们),我避免了所有存储和反射的 XSS,并且正确使用 windows.location 可以防止我对抗基于 DOM 的 XSS。
这个结论是对的,还是我忘记了什么?我还应该使用一些头盔功能吗?
编辑
我的问题不是什么是最好的 HTML sanitizer 服务器端(即使它是它的一部分),我更想知道我在代码中放置的保护措施是否可以保护我的应用程序免受所有众所周知的 XSS 类型的侵害。特别是我会知道我的中间件是否不是一个坏习惯。