如何保护 Angular 2 SPA 免受 XSS 攻击?

Posted

技术标签:

【中文标题】如何保护 Angular 2 SPA 免受 XSS 攻击?【英文标题】:How do I protect an Angular 2 SPA from XSS attacks? 【发布时间】:2017-02-07 11:00:55 【问题描述】:

我需要保护我的 SPA 免受 XSS 攻击。 我在客户端使用 Angular 2,在服务器上使用 JAVA 中的 REST 服务。

我知道 Angular 将模板中的所有输入视为不安全的,并且会清理和转义 html 标签等。 使用 X-XSS 标头的浏览器中也有内置的保护。

我需要在服务器端做一些保护吗?处理从/发送到客户端的数据?

如果是这样,是否有一个 java 库可以包装所有请求并保护它们免受 XSS 攻击?

其中一个请求是保存密码,我想允许特殊字符,如何不更改密码的字符并且仍然安全?

谢谢!

【问题讨论】:

你不能做任何令人印象深刻的保护服务器端只是一些简单的注入保护你的服务器 XSS 做所有的东西客户端 【参考方案1】:

永远不要相信客户!对于您的 Java 后端,您可以使用例如来自 OWASP 的 AntiSamy 项目。它可以帮助您避免客户端通过 HTML/CSS 提供恶意货物代码,这些代码会持久保存在服务器上。

【讨论】:

AntiSamy 只是一个 API,对吧?我仍然需要处理每个输入并决定是接受它还是过滤掉它。还是我错过了什么?

以上是关于如何保护 Angular 2 SPA 免受 XSS 攻击?的主要内容,如果未能解决你的问题,请参考以下文章

保护 oauth 不记名令牌免受 javascript 应用程序中的 XSS、CSRF 等攻击

保护 Express 免受 XSS:对整个传入请求的 HTML 实体进行编码是不是足够?

Pipy:保护 Kubernetes 上的应用程序免受 SQL 注入和 XSS 攻击

如何保护对象免受自动释放?

如何使用公钥保护 Web API 免受未经授权的访问?

如何保护网站免受攻击