在SESSION中存储POST数据

时间:2011-01-16 23:06:00

标签: php session forms post

我正在创建一个多步骤调查,并希望在将所有内容写入数据库之前将数据存储在$_SESSION中。在从安全角度存储数据之前,我应该对数据做些什么吗?

3 个答案:

答案 0 :(得分:4)

假设您正在使用基于文件的常规会话,那么从注入漏洞视图中您无需担心。 PHP将使用serialize()等来处理读/写会话文件的机制。把你想要的东西塞进$ _SESSION中,它会在下一页的调用中神奇地存在。

但是,从更广泛的安全角度来看,进入会话文件的任何内容都可以由在同一Web服务器实例下运行的任何其他内容读取(例如,apache用户ID)。所以它不是你可以存储敏感数据的地方,就像信用卡/ cvv号码那样。

答案 1 :(得分:3)

好吧,为了避免恢复数据的问题,我建议您使用会话名称并专门为发布数据使用数组,有点:

  

$ _ SESSION ['postData'] = $ _POST;

答案 2 :(得分:1)

在会话中抛出任何你想要的东西而不消毒它是相当安全的。你可以,因为无论如何,在将它放入会话之前进行消毒,以便准备好进入数据库,然后你可以更好地睡觉。