basic认证 接口 php,PHP 模拟 HTTP 基本认证(Basic Authentication) - 黄棣-dee - 博客园...

本文介绍了HTTP的基本认证过程,包括服务器如何通过WWW-Authenticate头部触发认证,客户端如何响应并发送Authorization头部。在PHP中,用户输入的用户名和密码会被保存在$_SERVER变量中,开发者可以通过验证这些值来确认用户身份。不同浏览器在处理错误输入次数上可能有不同的行为,如IE会在尝试超过3次后返回401状态码。示例代码展示了这一过程。
摘要由CSDN通过智能技术生成

当某个页面需要认证才能进行访问时,接到请求后服务器端会在响应头中发送一个 WWW-Authenticate 首部(用来标识认证安全域),语法为

WWW-Authenticate:Basic relam=quoted-string

客户端接收到后会弹出一个对话框,要求输入用户名和密码,用户输入的用户名和密码将会分别保存至 $_SERVER['PHP_AUTH_USER'] 和 $_SERVER['PHP_AUTH_PW'] 中,开发者可以设计程序验证用户输入的用户名和密码是否正确。

当用户输入用户名和密码并且点击确定后,请求头会发送一个 Authorization 首部,语法为 Authorization:Basic Base64(username:password)

在 IE 下,输入错误超过3次,服务器端会在响应头中发送 401 状态码,提示需要授权(401 (Authorization Required)),在 Chrome 或 FireFox 下,只有用户选择取消输入时,才会发送 401 状态码,否则对话框会一直要求输入用户名和密码。

代码:

按 Ctrl+C 复制代码

按 Ctrl+C 复制代码

访问页面时,弹出认证窗口:

68ee9b51cc8481e0a80437e336b3c225.png

选择取消时:

3438257383fc94508689a6f613545186.png

输出正确的用户名和密码时:

ea3a61f7762aeabc49acec5a076d937c.png

参考:《PHP Cookbook,3rd》P244

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值