在PHP会话中存储POST数据时的安全隐患


Security implications when storing POST data in PHP session

我想在我的PHP会话中保存一些POST数据,就像这样。

$_SESSION['items'] = $_POST;

在将这些数据保存到数据库中之前,我计划将其再保存几页。数据类型是文本,因此它可以是任何内容,包括SQL注入。

在将数据保存到数据库之前,我会对其进行清理,但只有在会话中保存一段时间之后。

我的问题是,在会话中保存UN经过消毒的原始POST数据是否会带来安全问题,即使稍后会进行消毒。

谢谢。

在会话中存储未初始化的用户数据是安全的,只要在使用之前对其进行消毒。我能想到的唯一例外是,如果您使用的数据库会话处理程序希望您在将数据存储在会话中之前对其进行消毒。

话虽如此,我认为这里存在安全问题。PHP程序员天生就认为$_POST不安全。对于$_SESSION来说,情况并非如此(或并非如此)。您或使用您的应用程序的人可能会在某个时候决定需要对会话变量执行某些操作,并认为它已经被净化。

一般来说,我认为最好在收到数据后立即对其进行清理。