【问题标题】:How to increase the security of user data changes? Is my method safe? [duplicate]如何增加用户数据变更的安全性?我的方法安全吗? [复制]
【发布时间】:2014-12-23 20:27:58
【问题描述】:

只准备一个能够登录的简单页面。其中一项功能是能够更改注册时提供的用户数据。我的代码如下。

登录:

if(passwordIsCorrect()){

//log in
$_SESSION['user'] = $email;

}

所以我将电子邮件或用户 ID 写入会话变量。当用户完成表单并单击提交时,我将更改写入数据库,使用

搜索表“用户”中的相应行
$ _SESSION ['user']; 

这是一种安全的方式吗?可以通过某种方式改进吗?

【问题讨论】:

  • 是的,你会很安全。尽管您可能能够在不同方面提高安全性。例如散列密码:sitepoint.com/password-hashing-in-php
  • 我没有看到任何安全威胁......基本上你只是在更新一个会话变量,这与用户数据无关......
  • 没想到php中的加密密码这么简单。我还在学习。谢谢大家。

标签: php


【解决方案1】:

是的,它是安全的,尽管您可以保留用户 ID,因为电子邮件可以更改。

我认为您的问题与此有关:php storing user id in session?

【讨论】:

  • 抱歉再次询问。感谢您的回复。
【解决方案2】:

没关系,假设您的电子邮件已被清理或从您的数据库中提取。

$_SESSION 数组存储在服务器上,而不是客户端计算机上:将其视为服务器上链接到用户浏览器会话的临时数组。

电子邮件不会随每个请求来回传递,只有会话 ID。

我会使用用户 ID 而不是电子邮件 - 不是为了安全,只是为了方便。用户可能会更改他们的个人资料以修改他们的电子邮件,并且您的用户 ID 可能是您数据库上的索引,因此会稍微快一些 - 这只会带来很小的性能提升,但由于您在每次请求时都这样做,所以它会加起来。

【讨论】:

  • 这就是我要找的。谢谢。
猜你喜欢
  • 2018-10-27
  • 2016-09-26
  • 2015-12-07
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
相关资源
最近更新 更多