www-authenticate与BASE-64认证技术
来源:互联网 发布:金钱永不眠 软件 编辑:程序博客网 时间:2024/05/16 12:01
www-authenticate是一种简单的用户身份认证技术。
很多验证都采用这种验证方式,尤其在嵌入式领域中。
优点:方便
缺点:这种认证方式在传输过程中采用的用户名密码加密方式为BASE-64,其解码过程非常简单,如果被嗅探密码几乎是透明的.
服务器收到请求后,首先会解析发送来的数据中是否包含有:
Authorization: Basic XXXX=这种格式的数据
如果没有这样的header数据
那么服务器会发送HTTP信息头WWW-Authenticate: Basic realm=""到浏览器
要求浏览器发送合法的用户名和密码到服务端,为了进一步告知浏览器,这个页面需要认证 我们最还还是接着发送一个401错误
Header("HTTP/1.0 401 Unauthorized");
用户输入用户名:admin 密码:admin后,浏览器将以下面这种格式将数据发送给服务器端:Authorization: Basic YWRtaW46YWRtaW4=
Authorization: Basic为www-authenticate认证的标准HTTP信息头
YWRtaW46YWRtaW4=是经BASE-64加密后的用户名和密码
经解密后的格式为 admin:admin
这时我们就可以用过PHP的全局变量来使用它们了
$_SERVER['PHP_AUTH_USER'];
$_SERVER['PHP_AUTH_PW'];
路由器都是这么做的
很多验证都采用这种验证方式,尤其在嵌入式领域中。
优点:方便
缺点:这种认证方式在传输过程中采用的用户名密码加密方式为BASE-64,其解码过程非常简单,如果被嗅探密码几乎是透明的.
服务器收到请求后,首先会解析发送来的数据中是否包含有:
Authorization: Basic XXXX=这种格式的数据
如果没有这样的header数据
那么服务器会发送HTTP信息头WWW-Authenticate: Basic realm=""到浏览器
要求浏览器发送合法的用户名和密码到服务端,为了进一步告知浏览器,这个页面需要认证 我们最还还是接着发送一个401错误
Header("HTTP/1.0 401 Unauthorized");
用户输入用户名:admin 密码:admin后,浏览器将以下面这种格式将数据发送给服务器端:Authorization: Basic YWRtaW46YWRtaW4=
Authorization: Basic为www-authenticate认证的标准HTTP信息头
YWRtaW46YWRtaW4=是经BASE-64加密后的用户名和密码
经解密后的格式为 admin:admin
这时我们就可以用过PHP的全局变量来使用它们了
$_SERVER['PHP_AUTH_USER'];
$_SERVER['PHP_AUTH_PW'];
路由器都是这么做的
if(!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])){ Header("WWW-Authenticate: Basic realm=\"USER LOGIN\""); Header("HTTP/1.0 401 Unauthorized");} else { echo $_SERVER['PHP_AUTH_USER']; echo $_SERVER['PHP_AUTH_PW'];}
--------------------------------------
http://tool.chinaz.com/Tools/Base64.aspx
比如java的http请求认证:
Base64加密码:Z3Vlc3Q6Z3Vlc3Q=
表示:guest:guest
HttpGet httpGet = new HttpGet("http://192.168.1.10:55672/api/queues"); httpGet.setHeader("Authorization", "Basic Z3Vlc3Q6Z3Vlc3Q="); try { HttpResponse httpResponse = httpClient.execute(httpGet); String res = EntityUtils.toString(httpResponse.getEntity()); } catch (Exception e) { LOGGER.warn("http client fail", e); return null; }
0 0
- www-authenticate与BASE-64认证技术
- header WWW-Authenticate认证
- www-authenticate认证过程浅析
- www-authenticate认证过程浅析
- www-authenticate认证过程浅析
- [转]www-authenticate认证过程浅析
- www-authenticate
- www-authenticate
- WWW-Authenticate 注销方法
- WWW-authenticate 登录验证
- django使用token认证authenticate
- 用户身份认证(Authenticate),并将用户输入的信息与数据库进行判断
- 用WWW-Authenticate实现登录验证
- [转] 用WWW-Authenticate实现登录验证
- BASE-64编/解码技术
- Authenticate
- 加密与认证技术基础
- 网络加密与认证技术
- memcached协议
- The function "state.highstate" is running as PID 4417的解决方法
- linux下pipe,poll函数的学习
- 一次Linux系统被攻击的分析过程
- One账户多设备同步的数据库设计
- www-authenticate与BASE-64认证技术
- iOS学习之CoreData的增删改查
- linux 同步IO: sync、fsync与fdatasync
- css3的动画animation
- 浅谈Java数据流
- cordova插件开发,简单教程
- MySQL在大型网站的应用架构演变
- 什么是分布式数据库?
- JAVA正则表达式,matcher.find()和 matcher.matches()的区别