codeigniter 2.1.4 阻塞会话中的旧代码库 & ajax
Old codebase in codeigniter 2.1.4 blocking sessions & ajax
我的会话工作正常,我有一个使用 TankAuth 的复杂自定义用户权限系统。我从一个小项目开始这个项目,它已经变成了一个可怕的东西。大多数数据是通过 javascript 前端异步获取的。现在基本上是 API,有一些例外。
我的问题是关于会话的。我知道 CI 3(或某个地方的更高版本)更改了会话库以允许多个 ajax 调用不互相阻塞。我注意到虽然 运行 多个 ajax 请求我的应用程序在延迟时间后一起获取结果。我确信这是由于会话阻塞造成的,但出于安全考虑,我对尝试修复持谨慎态度。
如何在不冒安全风险的情况下阻止来自会话的 ajax 调用相互阻塞?
首先,我相信您将 "block" 这个词用于两种不同的事物...
这里:
I understand that CI 3 (or later version somewhere) changed the session library to allow multiple ajax calls not to block each other.
这里:
I have noticed that whilst running multiple ajax requests my application fetches all together after a delayed time. I'm convinced this is due to blocking of sessions
CodeIgniter 3 不仅更改了 Session 库 - 它用一个全新的库替换了它,这也是多个请求不干扰的原因之一其他(第一个引用)。
然而,实现这一点的方法是使用锁定(或者你在第二个引号和你的问题中所说的"blocking")。你无法避免这一点。
您可以做的是,在您的请求 不再需要修改 $_SESSION
数组 时立即调用 session_write_close()
- 这将免费锁定并关闭当前请求的会话,但仍保留 $_SESSION
内容以供阅读。
我的会话工作正常,我有一个使用 TankAuth 的复杂自定义用户权限系统。我从一个小项目开始这个项目,它已经变成了一个可怕的东西。大多数数据是通过 javascript 前端异步获取的。现在基本上是 API,有一些例外。
我的问题是关于会话的。我知道 CI 3(或某个地方的更高版本)更改了会话库以允许多个 ajax 调用不互相阻塞。我注意到虽然 运行 多个 ajax 请求我的应用程序在延迟时间后一起获取结果。我确信这是由于会话阻塞造成的,但出于安全考虑,我对尝试修复持谨慎态度。
如何在不冒安全风险的情况下阻止来自会话的 ajax 调用相互阻塞?
首先,我相信您将 "block" 这个词用于两种不同的事物...
这里:
I understand that CI 3 (or later version somewhere) changed the session library to allow multiple ajax calls not to block each other.
这里:
I have noticed that whilst running multiple ajax requests my application fetches all together after a delayed time. I'm convinced this is due to blocking of sessions
CodeIgniter 3 不仅更改了 Session 库 - 它用一个全新的库替换了它,这也是多个请求不干扰的原因之一其他(第一个引用)。
然而,实现这一点的方法是使用锁定(或者你在第二个引号和你的问题中所说的"blocking")。你无法避免这一点。
您可以做的是,在您的请求 不再需要修改 $_SESSION
数组 时立即调用 session_write_close()
- 这将免费锁定并关闭当前请求的会话,但仍保留 $_SESSION
内容以供阅读。