0

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

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

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

ETC

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

在选项栏下,有一个名为“详细信息”的选项,单击后,用户将能够看到一些安全信息。

我可以想到两种方法:

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

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

就安全性而言,哪种方式更好?(如果它们都不是,请告诉我该怎么做)

4

1 回答 1

4

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

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

就性能而言..这取决于。没有单一的答案,做对你有用的事,但一定要保持简单

于 2013-08-29T16:23:08.350 回答