文件名称:cross-application-csrf-prevention:正确执行跨站点请求伪造预防
文件大小:29KB
文件格式:ZIP
更新时间:2024-06-04 01:36:10
跨应用CSRF预防 本文档概述了在Rails内置的跨站点请求伪造预防机制中发现的问题,并包含可缓解上述问题的反CSRF解决方案的设计规范。 动机 在调查CSRF令牌相关的错误时,我们发现Rails中实现的CSRF预防机制存在一些问题。 Rails CSRF的预防依赖于存储在应用程序会话中的令牌,这对于一个整体式多页应用程序非常有效。 但是,它并不总是适用于单页应用程序,因为一旦将CSRF令牌作为元标记加载到页面上,它就永远不会更新,直到重新加载页面为止(有关详细信息,请参见代码)。 因此,如果令牌在后端进行了更改,则该更改将不会传播到前端,直到下一页重新加载为止。 现有的解决方案在某种程度上适用于多个多页单片应用程序来回发送用户,每个应用程序都维护自己的会话并在其中存储CSRF预防令牌,但是如果一个应用程序对另一个应用程序进行AJAX调用则根本无法使用应用。 我们发现上述问题在整个X
【文件预览】:
cross-application-csrf-prevention-master
----.gitignore(10B)
----README.md(19KB)
----diagrams()
--------overview.svg(21KB)
--------simultaneous-token-generation.puml(949B)
--------belated-response.puml(2KB)
--------request-pre-filter.puml(230B)
--------request-pre-filter.svg(7KB)
--------simultaneous-token-generation.svg(11KB)
--------backend-middleware.svg(18KB)
--------application-action-filter.puml(451B)
--------backend-middleware.puml(790B)
--------overview.puml(1KB)
--------belated-response.svg(23KB)
--------application-action-filter.svg(12KB)
----MIT-LICENSE(1KB)