Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何提高用户数据更改的安全性?我的方法安全吗?_Php - Fatal编程技术网

Php 如何提高用户数据更改的安全性?我的方法安全吗?

Php 如何提高用户数据更改的安全性?我的方法安全吗?,php,Php,只准备一个简单的页面,可以登录。其中一个功能是能够更改注册时提供的用户数据。我的代码如下所示 登录: if(passwordIsCorrect()){ //log in $_SESSION['user'] = $email; } 因此,我将电子邮件或用户id写入会话变量。当用户完成表单并单击submit时,我会使用 $ _SESSION ['user']; 这样安全吗?是否可以以某种方式进行改进?是的,它是安全的,尽管您可以保留用户Id,因为电子邮件可以更改 我认为您的问题与此相关:假

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

登录:

if(passwordIsCorrect()){

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

}
因此,我将电子邮件或用户id写入会话变量。当用户完成表单并单击submit时,我会使用

$ _SESSION ['user']; 

这样安全吗?是否可以以某种方式进行改进?

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


我认为您的问题与此相关:

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

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

电子邮件不会在每个请求中来回传递,只传递会话ID


我不使用电子邮件,而是使用用户ID——不是为了安全,只是为了方便。用户可能会更改他们的配置文件以修改他们的电子邮件,而您的用户ID可能是您数据库中的索引,因此会稍微快一点-这只会略微提高性能,但由于您在每个请求上都这样做,因此会加起来。

是的,您将足够安全。尽管您可能能够在不同方面提高安全性。例如,哈希密码:我没有看到任何安全威胁。。。基本上,您只是更新一个会话变量,这与用户数据无关……我不认为php中的加密密码那么简单。我还在学习。谢谢,伙计们,很抱歉重新开始。谢谢你的回复。这就是我要找的。谢谢