我有一个要防止 XSS 的 Express 应用程序。
我将一些关于 XSS 的页面(包括OWASP的页面)改成了红色,鉴于我的应用程序特性,我决定编写一个中间件,<>"'在我在路由中使用请求参数之前,对 HTML 实体(更准确地说是 XML 实体,包括)进行编码。
我还在连接时刷新会话 cookie,以防止 cookie 被盗。
我如何构建我的应用程序
我的感受
我的结论是,通过这种行为(在外部数据到来时清理它们),我避免了所有存储和反射的 XSS,并且正确使用 windows.location 可以防止我对抗基于 DOM 的 XSS。
这个结论是对的,还是我忘记了什么?我还应该使用一些头盔功能吗?
编辑
我的问题不是什么是最好的 HTML sanitizer 服务器端(即使它是它的一部分),我更想知道我在代码中放置的保护措施是否可以保护我的应用程序免受所有众所周知的 XSS 类型的侵害。特别是我会知道我的中间件是否不是一个坏习惯。