Php 用户表单是否需要会话

Php 用户表单是否需要会话,php,forms,session,zend-framework,csrf,Php,Forms,Session,Zend Framework,Csrf,我们有一个使用Zend Framework 1.12用php编写的应用程序。Zend会自动为每个来宾创建一个会话。在这种情况下,如果匿名客人可以在同一页上花费相当长的时间填写一份长的表格,那么仅仅为匿名客人将会话超时时间延长到几个小时,甚至一整天,是否被认为是安全的做法 通过表单收集的数据不是用户敏感数据,请将其视为美化的“联系我们”表单。我们正在使用CSRF令牌,这就是为什么我们需要会话在用户填写表单时保持活动状态。不幸的是,不能将表单拆分为多个较小的表单 我需要解决的问题是,用户的会话可能在

我们有一个使用Zend Framework 1.12用php编写的应用程序。Zend会自动为每个来宾创建一个会话。在这种情况下,如果匿名客人可以在同一页上花费相当长的时间填写一份长的表格,那么仅仅为匿名客人将会话超时时间延长到几个小时,甚至一整天,是否被认为是安全的做法

通过表单收集的数据不是用户敏感数据,请将其视为美化的“联系我们”表单。我们正在使用CSRF令牌,这就是为什么我们需要会话在用户填写表单时保持活动状态。不幸的是,不能将表单拆分为多个较小的表单


我需要解决的问题是,用户的会话可能在他们提交表单之前过期,并且csrf不再有效。

对于匿名访客,安全问题应该是最小的。有一种方法可以设置CSRF的过期时间(这样您可以将其扩展到默认值之外)。它被称为
timeout
,是
csrf\u选项的一部分
问题在于csrf令牌存储在会话中。如果会话在用户提交表单之前被垃圾收集,则不再有可比较的csrf令牌,表单将失败。这是我需要预防的。