【发布时间】:2019-09-13 13:48:36
【问题描述】:
在我的应用程序中,我要求客户端首先为自己创建一个令牌,并在每个请求中使用该令牌来访问服务器上的资源。但这并不能阻止 csrf 攻击。
那么在 react、redux 应用程序中防止 CSRF 和 XSS 攻击的最佳方法是什么?
【问题讨论】:
标签: javascript reactjs redux xss csrf
在我的应用程序中,我要求客户端首先为自己创建一个令牌,并在每个请求中使用该令牌来访问服务器上的资源。但这并不能阻止 csrf 攻击。
那么在 react、redux 应用程序中防止 CSRF 和 XSS 攻击的最佳方法是什么?
【问题讨论】:
标签: javascript reactjs redux xss csrf
XSS 和 CSRF 是完全不同的东西,我认为你不应该将它们混合在一个问题中。
XSS 是关于在您的身边/在您的 html 中显示用户输入而不进行任何清理。并且该用户输入可能包含代表当前用户窃取 cookie 或发送私人消息等的 javascript。显然,为了防止你需要清理或逃避一切来自用户的东西。但是 React 会为你做到这一点,直到你冒着风险使用 dangerouslySetInnerHTML
至于 CSRF,它首先取决于后端以某种方式处理它(有关详细信息,请参阅another SO question)。这里的反应只是可以处理令牌以使安全请求工作。但这取决于后端的实现。
【讨论】:
一种选择是使用 csurf 库为每个请求创建 xsrf 令牌。
其次:如果您仅使用身份验证令牌通过 http 发布 json 数据,而不使用 cookie,那么 CSRF 是不可能的。
【讨论】: