Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Security 登录请求和创建新帐户请求之间的服务器实现差异_Security_Login - Fatal编程技术网

Security 登录请求和创建新帐户请求之间的服务器实现差异

Security 登录请求和创建新帐户请求之间的服务器实现差异,security,login,Security,Login,我正在为系统创建后端,并注意到登录和创建新帐户请求实际上是相同的,即它们都包含用户名和密码-是否有任何理由认为它们应该是单独的请求?服务器是否应该实现请求之间的任何差异 我看到这样的情况: 登录: 搜索用户名X, 检查密码Y是否与保存的密码匹配, 让用户连接 新帐户: 搜索用户名X, 创建用户名X和密码Y, 让用户连接 组合: 搜索用户名X, 如果存在X,请检查密码是否匹配, 否则X不存在,创建X并设置密码Y, 让用户连接 在新帐户的客户端,他们会被要求输入两次密码以检查打字错误/等,当然,还会

我正在为系统创建后端,并注意到登录和创建新帐户请求实际上是相同的,即它们都包含用户名和密码-是否有任何理由认为它们应该是单独的请求?服务器是否应该实现请求之间的任何差异

我看到这样的情况:

登录: 搜索用户名X, 检查密码Y是否与保存的密码匹配, 让用户连接

新帐户: 搜索用户名X, 创建用户名X和密码Y, 让用户连接

组合: 搜索用户名X, 如果存在X,请检查密码是否匹配, 否则X不存在,创建X并设置密码Y, 让用户连接

在新帐户的客户端,他们会被要求输入两次密码以检查打字错误/等,当然,还会被要求阅读TOS/等


这样做是否有任何安全问题?这通常是如何处理的

如果你用正确的方式处理用户数据,没关系。不管怎样,常用的方法是将注册和登录分开,因为我认为这更方便用户。通常创建帐户需要更多信息,例如电子邮件地址,可能还有其他数据。但是如果你想的话,没有人会阻止你在同一个代码分支中处理这个问题……这取决于你。但是,您应该能够在服务器端区分这两种类型的请求,并且不会创建新帐户,例如,当用户只是错误地键入用户名时。@CBroe-我不理解为什么服务器需要在这两种请求之间进行区分,以防在用户错误地键入用户名时创建帐户,因为他们会使用不同的客户端页面,在请求从客户端发送之前输入两次密码,等等,这是因为你假设你可以控制客户端发生的事情,当然你不能。当您假设到达服务器的任何请求都必须来自一种称为“浏览器”的东西时,您已经错了。