yuesha
yuesha
发布于 2025-02-01 / 565 阅读 / 0 评论 / 0 点赞

如何使用浏览器进行简单的身份认证

写在前面

我们知道,做一个登录验证是需要很多地方的配合的,包括

  1. 前端页面(login.html
  2. form表单提交
  3. Ajax表单提交
  4. Session携带或Cookie携带
  5. 后端接口(api
  6. login接口
  7. 检测token鉴权啥的

那既然那么复杂,能不能有个简单的,我很简单的输入用户名密码就直接可以访问了呢?

答案是肯定的

实现

思路:用PHP直接给客户端发送一段header,让浏览器默认带一下登录验证信息上来,然后刷新就是验证了

header('WWW-Authenticate: Basic realm="Enter first door"');
header("HTTP/1.0 401 Unauthorized");

很简单,就这样就可以发送一个身份验证的响应给到客户端浏览器,浏览器会自己弹出一个提示框,用来输入用户名和密码。

当然,你还可以简单设置一下提示文本。

然后在服务变量里获取到这个用户输入的内容,进行验证判别

if ($_SERVER['PHP_AUTH_USER'] != '你的用户名') die();
if ($_SERVER['PHP_AUTH_PW'] != '你的密码') die();

至于更多的样式,就别想了,毕竟这个是浏览器默认行为,做不到那么多修改。

真想做的话,还是按照前端写页面,后端写接口吧


评论