gpt4 book ai didi

php - 网站如何在不重新加载页面的情况下检查登录凭据?

转载 作者:可可西里 更新时间:2023-11-01 01:04:13 26 4
gpt4 key购买 nike

一些网站,例如YahooGoogle ,使用Ajax检查用户名/密码是否错误。显然必须有服务器端身份验证,因为任何人都可以更改本地 JavaScript 并欺骗它认为用户名/密码是正确的。我想知道这是如何有效地完成的,因为服务器不会两次检查相同的用户名/密码吗?考虑以下用户登录网站的场景:

  1. 用户来到登录页面
  2. 用户输入用户名/密码并点击提交
  3. 如果输入的用户名/密码正确,服务器通过 Ajax 与客户端通信
  4. 服务器回复说用户名/密码是否正确——在这个例子中是
  5. <form>已提交,间歇性页面通过 POST 获取输入的值并在服务器端再次处理它们以验证用户名/密码是否正确以及是否在 session 中设置了变量

在第 5 步中,服务器第二次检查与第 3 步中相同的用户名/密码是否正确。是否有办法缓存第 3 步的结果或使过程更有效?此外,服务器已经在第 3 步中发送了用户名/密码。但我不确定这是否可以加速该过程。

我正在使用 MySQL 数据库来存储用户名和密码。

最佳答案

在第 3 步,您的 onsubmit 处理程序会将您的 AJAX 请求发送到服务器以验证凭据阻止正常的表单提交(通过调用.preventDefault() 在处理程序中或从处理程序返回 false),因此第 5 步永远不会发生。如果 javascript 被禁用,那么您将没有 onsubmit 处理程序,而是将进行正常的表单提交。

在您的第 4 步中,如果您收到“正确”的响应,那么您的 AJAX 处理程序可以重定向到一个新页面;如果这是一个“不正确”的响应,您将停留在登录页面,清除表单,并提出您的错误消息。

关于php - 网站如何在不重新加载页面的情况下检查登录凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com