作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一些网站,例如Yahoo和 Google ,使用Ajax检查用户名/密码是否错误。显然必须有服务器端身份验证,因为任何人都可以更改本地 JavaScript 并欺骗它认为用户名/密码是正确的。我想知道这是如何有效地完成的,因为服务器不会两次检查相同的用户名/密码吗?考虑以下用户登录网站的场景:
<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/
我是一名优秀的程序员,十分优秀!