node.js - 纯静态站点可以进行 CSRF 保护吗?
问题描述
我有一个独立的单页 React 应用程序,它与一个单独的 API 应用程序进行数据通信。该应用程序完全是静态的(只有 HTML、JS、CSS 和图像),除了一个用于 CSRF 保护支持的小型 Express 服务器。该应用程序包含用户填写和提交的表格(通过 HTTP 请求提交)。
我真的很想摆脱对云服务器的直接依赖,而转向纯粹使用 S3 + Cloudfront 进行托管。这是完全可行的,因为所有资产都是静态的,我可以在部署时使 index.html 无效。我唯一的挂断是 CSRF 保护。
目前,我依赖 Redis 的 express-session 后端以及会话 cookie。CSRF 令牌被注入到服务器端呈现的索引路由中,该路由引导客户端 React 应用程序。
有没有一种安全(和现在一样安全)、可行的方法来拥有一个支持 CSRF 的纯静态站点?该应用程序将拥有对单独 API 服务的完全访问权限。
解决方案
推荐阅读
- c# - 如何注册 ServiceBusClient 以进行依赖注入?
- typescript - 如何强制 Set 对象包含枚举中的所有值 - TS
- r - 尝试从多个数据集创建单个矩阵时如何修复 mutate 错误
- php - 是否可以在 PHP 中动态创建新的类属性?
- three.js - 使用 THREE.TextureLoader() 加载图像时出现 Three.js CORS 错误
- javascript - 从反应减速器设置状态返回正确的值但不会导致重新渲染
- amazon-web-services - 由于 KMS 权限,SageMaker Studio 域创建失败
- c - 只是想知道用 C 编写的这段代码是如何工作的
- spring - 查询方法公共抽象 org.springframework.data.domain.Page 的验证失败
- tesseract - Tesseract 4.1.1 与 Tika 1.26 的兼容性