HTTP AUTH验证
何为http auth?
http auth是一种基础的用户验证,原理是将用户名:密码
base64加密后放在http的请求头部Authorization
发给服务器。
浏览器的做法
当你访问一个需要http auth验证的资源时,web server会去检查你的http请求头并且比对帐号密码,如果不成功就会相应的所请求的资源,否则就会返回401,浏览器在接收到401时会自动打开一个登陆窗口让你登陆,点击提交后会将输入的用户名密码base64加密后放在请求头部再次发送这次请求。
缺点
很明显,如果别人获取了你的http请求内容,将Authorization请求头解密后就能获得帐号密码,所以一般来说,http auth都是基于https的。
为什么会用到 http auth?
restful api
restful api 的一个特点即无状态,每次对敏感资源的访问都需要进行登陆验证,可以用http auth来很好的开发restful api。
纯js的ajax实现http auth验证。
懂了http auth的原理就很简单了,这里一个例子。
function get() {let xhr=null;if(window.XMLHttpRequest){xhr=new XMLHttpRequest();}else{xhr=new ActiveXObject("Microft.XMLHttp");}let data = {"username":'lyt',"password":'771251091'};xhr.open('GET','/api/user_info');xhr.onreadystatechange = function () {if(xhr.readyState == 4 && xhr.status == 200){alert(xhr.responseText);}};xhr.setRequestHeader("Authorization","Basic "+window.btoa("username:password")); //重点再此xhr.send();}
HTTP AUTH验证相关推荐
- mongodb 安装和配置auth验证
为什么80%的码农都做不了架构师?>>> 安装 brew install mongodb mongodb 配置 启动 brew services start mongodb 创 ...
- mongodb 主从配置,带auth验证模式
2019独角兽企业重金招聘Python工程师标准>>> 一 简介说明 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故 ...
- laravel auth.php,Laravel 自带的Auth验证登录方法
在laravel有自带的登录验证.只要建立对应的表和配置一些文件就能够使用,无需开发者自己去实现登录逻辑. 第一步:配置方面 在config下的auth.php配置guards 和 providers ...
- Laravel - Auth验证流程以及guard守卫和自定义驱动driver驱动,使用web-token验证
不同认证方式 我们先来看 config/auth.php provider providers 数组让我们可以配置一个提供者,每个提供者可以选择不同的 driver.driver可以选择eloquen ...
- 微信开发总结1——关于微信企业号API,Auth验证
最近在开发微信的一些功能,如企业号的开发,做一些OA的功能,内容包括公文传阅.流程审批等功能. 1.到https://qy.weixin.qq.com注册一个企业号.成功后会分配一个CorpID和一个 ...
- Postman中Basic Auth验证
也可以直接在Headers中新增一个Key: Authorization, Value: Basic xxxx: 如下图所示: 同理:如果是JWT Token验证,写法为: request.AddHe ...
- Laravel框架使用Auth进行登录验证
进行登录验证的话,Auth 可以进行方便的验证,所需代码只有几行,并且只需要修改一些配置便可以进行验证(大佬勿喷) 首先要进行接值,把视图传来的账号和密码进行接收 // 定义控制器public fun ...
- Django (auth模块、User对象、用户认证、线上-用户认证)
一.auth模块 django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要usern ...
- ASP.NET的MVC中使用Session做身份验证(附代码下载)
场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10679 ...
最新文章
- 网络工程师成长日记365-IBIS西安工程回忆录
- linux获取网卡的ip,Windows和Linux系统下获取多网卡的ip地址
- Php基础正则表达式篇
- 参考文献中会议名称怎么缩写_期刊缩写查询总结
- 小程序 | 微信小程序二级选择器
- 理解 python 装饰器
- 两个线程同时从服务器接收消息_Linux高性能服务器处理框架
- 解决苹果手机点击返回键页面不刷新问题
- Python 中的注意点_s2
- 音乐播放插件Aplayer+WebAPI的使用【附下载】
- php的对象和数组应该学js,JavaScript数组与对象的常用方法及 json 的序列化
- 如何在appconfig中配置服务的ip
- unity 录制游戏内视频(1)
- 烽火计划-2020年夏-期末总结
- 跟论文作者要源码和数据集的邮件怎么写
- oracle modeler 使用,Navicat Data Modeler使用教程八:图表版面下
- zmq pub/sub使用详解
- 入侵检测系统原理和实践
- Hugging Face(1)——Transformer Models
- Svelte 实现 keypress 快捷键功能
热门文章
- 如何使用wink框架_如何使用Wink Lookout将Wink Smarthome变成安全系统
- 小皮面板(phpstudy_pro)无法启动mysql的解决方法
- Hadoop生态系统基本介绍
- UFT连接MySQL ODBC
- C/C++指针详解之提高篇
- 测试高考体育成绩的软件,高考体育测试提前准备!考生最关心的评分标准等问题解答...
- 删除二维列表中的dominated元素
- Spring Security是什么? - 密码认证(四)
- JZOJ 5947. 【NOIP2018模拟11.02】初音未来(miku)
- Android Studio 入门(转)