背景
在初期使用svn的时候都会直接用浏览器打开,会有认证的窗口。想着是否能用php来实现这个功能。直接上代码
代码
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="登录一下"');
}else{
echo $_SERVER['PHP_AUTH_USER'] ;
echo $_SERVER['PHP_AUTH_PW'];
die();
}
die;
效果图
功能
其实base方式的认证,主要是把用户名和密码在请求头里面传过去的,通过Authorization这个参数。如图
应该可以看出来参数是加密的,可以通过base64解密,如图
就是这样传过去的,然后可以通过上面的代码看到如果接收使用。
初次访问会通过WWW-Authenticate参数返回认证的提示信息。
tip:
如果清空请求头中的Authorization,关闭浏览器。重启。本人试了清除缓存,js等等都无效。