我已经构建了多个已经使用PHP的站点,允许用户登录并在会话变量中保留他们的用户ID和用户名。我一直在学习更多有关安全性的知识,我想了解一下最安全的方法来存储用户信息。
我目前正在开发一个用户帐户页面,该页面允许用户查看和编辑他们的个人资料信息。目前,该站点执行一个简单的MySQL查询,根据会话中存储的id来从数据库中提取用户信息。
示例:
$getUserInfoSQL = $connection->prepare("SELECT * FROM Accounts WHERE id = ?");
$getUserInfoSQL->bind_param("s",$userid);
$getUserInfoSQL->execute();
我只想确保根据会话变量userid提供用户信息并非鲁莽。
答案 0 :(得分:1)
您可以轻松使用会话来存储用户数据,因为会话内容存储在您的服务器上。但是,在会话中存储userdata可能会导致一些问题:
答案 1 :(得分:0)
使用会话变量应该足够安全。保存在服务器上的会话数据和本地存储在用户端的唯一内容是会话ID。
PHP将会话数据存储在服务器上的文件中,但您也可以将其存储在数据库中。它的速度要快一点,也应该更安全。 - 查看RobertPitt在https://stackoverflow.com/a/2950504/859999的答案,了解如何在数据库中存储会话数据。