会话可用于存储安全信息吗?

时间:2013-08-29 16:20:11

标签: php mysql security session

我有一个php程序,它有登录页面和注销页面。当用户成功登录页面时,它将被重定向到index.php

当加载index.php时,它将从数据库中获取数据(mySQL。即,从用户中选择*)并填充一些的用户数据并以漂亮的表格格式显示< / p>

Name         Phone             DOB          ...             Option
John Doe     xxx-xxx-xxxx      mm-dd-yy     ...             [Edit] [Details]...

并非查询结果中的所有字段都将显示在上表中,只有部分字段会显示。

在Option列下,有一个名为“Details”的选项,点击后,用户将能够看到一些安全信息。

我可以想到两种方法:

  1. 当加载index.php时,而不是从用户调用Select *(*将包含一些安全信息)我只会调用“选择id fullname,phone,dob from users”。 (除非有必要,否则不要选择一些东西)。然后,当单击“详细信息”时,我将传递id并使用该ID从db检索安全信息。 (IMO这是最安全的方式,但我必须进行额外的查询调用)

  2. 加载index.php时,我只是从用户那里做一个Select *。将查询结果(数组)保存到Session中,然后单击“Details”时,我将从Session中检索数组。这样我就不必进行额外的查询调用,但是我不确定Session是否安全。

  3. 在安全方面哪种方式更好? (如果没有,请告知我该怎么做)

1 个答案:

答案 0 :(得分:4)

在会话中存储数据是安全的。在cookie中存储数据安全。

会话存储在服务器上,cookie由客户端存储(因此它们不安全)。

就性能而言......这取决于。没有一个答案,做什么对你有用,但无论如何保持简单