在PHP中的会话superglobals中存储经过验证的表单数据是否安全?

在PHP中的会话superglobals中存储经过验证的表单数据是否安全?,php,forms,session,session-variables,session-cookies,Php,Forms,Session,Session Variables,Session Cookies,我有一个非常简单的问题,我问这个问题是因为我不确定答案。我正在构建一个应用程序,其中有一个多步骤的注册表。共有7个步骤,每个步骤位于不同的PHP页面上。当客户端转到下一页时,我还会验证提交的表单数据 我的问题是: 将所有已验证(仅验证)的信息存储在会话变量中是否安全?注册完成后,我会将这些会话值写入数据库。为此目的使用会话安全吗?如果没有,如何利用这种方法 我还为人们提供了一个选项,如果他们输入了错误的内容,可以返回到每个步骤并更改值。在这种情况下,我只更新会话变量。它也安全吗 我目前正在使用s

我有一个非常简单的问题,我问这个问题是因为我不确定答案。我正在构建一个应用程序,其中有一个多步骤的注册表。共有7个步骤,每个步骤位于不同的PHP页面上。当客户端转到下一页时,我还会验证提交的表单数据

我的问题是: 将所有已验证(仅验证)的信息存储在会话变量中是否安全?注册完成后,我会将这些会话值写入数据库。为此目的使用会话安全吗?如果没有,如何利用这种方法

我还为人们提供了一个选项,如果他们输入了错误的内容,可以返回到每个步骤并更改值。在这种情况下,我只更新会话变量。它也安全吗

我目前正在使用
session\u regenate\u id()
来防止会话窃取

因此,基本上我可以安全地将数据临时存储在会话中,然后将它们插入数据库吗?黑客是否可以同时更改会话数据,以便我将插入数据库的内容与我保存到会话中的内容不同


我希望你能理解我的问题。任何帮助都将被感激

是的,它是安全的。会话数据存储在服务器端,客户端无法对其进行操作。客户机唯一持有的是会话密钥,它允许服务器将客户机与该客户机存储的会话变量进行匹配。只要在将信息存储到
$\u SESSION
之前验证这些信息,就可以在进程结束时将会话变量转储到数据库中

这是。解决会话窃取问题的简单方法是只使用SSL

我还为人们提供了一个选项,如果他们输入了错误的内容,可以返回到每个步骤并更改值。在这种情况下,我只更新会话变量。它也安全吗


您也可以使用这种方法,只要您正在验证会话变量。

如果您保护会话ID以进行会话窃取,那么请继续,会话是存储在服务器端的安全变量,每个客户端都有自己的会话,因此如果您确保会话ID安全,那么就没有问题了会话是服务器端存储系统。如果黑客可以在你的服务器上写随机文件,你就有更大的问题要关心。谢谢你的回答,我现在冷静多了+1用于额外资源。