微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

某些网站(例如YahooGoogle)使用Ajax来检查用户名/密码是否错误.显然,必须进行服务器端身份验证,因为任何人都可以更改本地JavaScript,并诱使它认为用户名/密码正确.我想知道如何有效地完成此操作,因为服务器不会两次检查相同的用户名/密码吗?请考虑以下情形,其中用户登录到网站:

>用户进入登录页面
>用户输入用户名/密码,然后单击提交
>如果输入的用户名/密码正确,则服务器通过Ajax与客户端进行通信
>服务器回复用户名/密码是否正确-在这个例子中是
>< form>提交,并且一个间歇页面通过POST接收输入的值,并在服务器端再次对其进行处理,以验证用户名/密码是否正确以及是否在会话中设置了变量

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

我正在使用MysqL数据库存储用户名和密码.

解决方法:

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

在第4步中,如果收到“正确”响应,则您的AJAX处理程序可以重定向到新页面;如果响应是“不正确的”,则您将停留在登录页面上,清除表单,然后显示错误消息.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐