我有一个php程序,它有登录页面和注销页面。当用户成功登录页面时,它将被重定向到index.php
当加载index.php时,它将从数据库中获取数据(mySQL。即,从用户中选择*)并填充一些的用户数据并以漂亮的表格格式显示< / p>
Name Phone DOB ... Option
John Doe xxx-xxx-xxxx mm-dd-yy ... [Edit] [Details]...
等
并非查询结果中的所有字段都将显示在上表中,只有部分字段会显示。
在Option列下,有一个名为“Details”的选项,点击后,用户将能够看到一些安全信息。
我可以想到两种方法:
当加载index.php时,而不是从用户调用Select *(*将包含一些安全信息)我只会调用“选择id fullname,phone,dob from users”。 (除非有必要,否则不要选择一些东西)。然后,当单击“详细信息”时,我将传递id并使用该ID从db检索安全信息。 (IMO这是最安全的方式,但我必须进行额外的查询调用)
加载index.php时,我只是从用户那里做一个Select *。将查询结果(数组)保存到Session中,然后单击“Details”时,我将从Session中检索数组。这样我就不必进行额外的查询调用,但是我不确定Session是否安全。
在安全方面哪种方式更好? (如果没有,请告知我该怎么做)
答案 0 :(得分:4)
在会话中存储数据是安全的。在cookie中存储数据不安全。
会话存储在服务器上,cookie由客户端存储(因此它们不安全)。
就性能而言......这取决于。没有一个答案,做什么对你有用,但无论如何保持简单。