我正在开发一个完全基于 AJAX(通过 jQuery)的 PHP 网站。它是一个页面,其中所有请求都由 AJAX 发出。
与针对 CSRF 的保护相关,我遇到了必须在我发出的每个请求中手动包含令牌的问题,这非常乏味和不舒服。在寻找令牌的替代解决方案时,我阅读了与 AJAX 请求相关的 SOP(同源策略)。如果我理解得很好,xmlhttprequest 是不允许跨不同域的(除非这启用了 CORS,但情况并非如此)。
因此,在这种情况下,我想知道检查请求的来源(通过 HTTP_ORIGIN)和标头 X-Requested-With(以确保请求是 AJAX 请求)是否足以防止 CSRF 攻击。即,我想知道考虑到上述条件是否真的需要任何令牌。
非常感谢您的宝贵时间。