我正在尝试实现一个页面,员工可以在其中登录并添加、修改、更新工作案例。
我有一个选择列表,其中包含从数据库加载的数据(员工姓名)。在这个数据库中,我有基础知识、用户名、ID、密码、电子邮件。
选择列表/框的默认值为“-”;当它发生变化时,会弹出一个表单,要求输入选定员工的密码。
使用 jQuery,我将 id、用户和密码(纯文本)发送到服务器。在 php 文件中,我转义 ( mysqli_real_escape_string
) 所有三个变量并散列 ( md5($salt.$varname)
) 密码。
我用SELECT * FROM table WHERE id='".$escapedId."' AND name='".$escapedName."'
.
检查我是否num_rows==1
以及是否$hashedPasswd==$mysqlresult['passwd']
这样做后:
$serverResponse->reponses['passwdOK']=true;
echo json_encode($serverResponse);
所以,我的两个问题是:我是否应该更改查询以包含密码 (... WHERE passwd=$hashedPasswd...
) 以及我发送/返回到 JS 文件的响应是否正常(我的意思是它是否安全、可靠)。如果响应不安全/不安全,那么正确的服务器响应是什么。
PS我不想重新加载或重定向到另一个页面,事实上,如果密码OK我想解锁/启用已经加载页面上的一些控件。