一、什么是认证和授权?如何设计一个权限认 证框架?

认证: 就是对系统访问者的身份进行确认。 用户名密码登录、 二维码登录、手机短信登录、指纹、刷脸。。。
授权:就是对系统访问者的行为进行控制。授权通常是在认证之后,对系统内的用户隐私数据进行保护。后台接口访问权限、前台控件的访问权限。
RBAC模型: 主体 -》 角色 -》 资源 -》访问系统的行为。
认证和授权也是对一个权限认证框架进行扩展的两个主要的方面。

二、Cookie和Session有什么区别?

三、如果没有Cookie,Session还能进行身份 验证吗?

当服务器tomcat第一次接收到客户端的请求时,会开辟一块独立的session空间,建立一个session对象,同时会生成一个session id,通过响应头的方式保存到客户端浏览器的cookie当中。以后客户端的每次请求,都会在请求头部带上这个session id,这样就可以对应上服务端的一些会话的相关信息,比如用户的登录状态。如果没有客户端的Cookie,Session是无法进行身份验证的。
当服务端从单体应用升级为分布式之后,cookie+session这种机制要怎么扩展?
1、session黏贴: 在负载均衡中,通过一个机制保证同一个客户端的所有请求都会转发到同一个tomcat实例当中。问题: 当这个tomcat实例出现问题之后,请求就会被转发到其他实例,这时候用户的session信息就丢了。
2、session复制: 当一个tomcat实例上保存了session信息后,主动将session 复制到集群中的其他实例。问题: 复制是需要时间的,在复制过程中,容易产生session信息丢失。
3、session共享: 就是将服务端的session信息保存到一个第三方中,比如Redis。

四、什么是CSRF攻击?如何防止?

CSRF: Cross Site Requst Forgery 跨站请求伪造 一个正常的请求会将合法用户的session id保存到浏览器的cookie。这时候,如果用户在浏览器中打来另一个tab页, 那这个tab页也是可以获得浏览器的cookie。黑客就可以利用这个cookie信息进行攻击。
攻击过程:
1、某银行网站A可以以GET请求的方式发起转账操作。 www.xxx.com/transfor.do?accountNum=100&money=1000 accountNum表示目标账户。这个请求肯定是需要登录才可以正常访问的。
2、攻击者在某个论坛或者网站上,上传一个图片,链接地址是 www.xxx.com/transfer.do?accountNum=888&money=10000 其中这个accountNum就是攻击者-自己的银行账户。
3、如果有一个用户,登录了银行网站,然后又打开浏览器的另一个tab页,点击了这个图片。这时,银行就会受理到一个带了正确cookie的请求,就会完成转账。用户的钱就被盗了。
CSRF方式方式:
1、尽量使用POST请求,限制GET请求。POST请求可以带请求体,攻击者就不容易伪造出请求。
2、将cookie设置为HttpOnly : respose.setHeader(“SetCookie”,“cookiename=cookievalue;HttpOnly”)。
3、增加token;
在请求中放入一个攻击者无法伪造的信息,并且该信息不存在于cookie当中。
这也是Spring Security框架中采用的防范方式。

五、什么是OAuth2.0协议?有哪几种认证方 式?什么是JWT令牌?和普通令牌有什么区 别?

OAuth2.0是一个开放标准,允许用户授权第三方应用程序访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。
OAuth2.0协议的认证流程,简单理解,就是允许我们将之前的授权和认证过程交给
一个独立的第三方进行担保。
OAuth2.0协议有四种认证方式:
1、授权码模式

2、简化模式

3、密码模式

4、客户端模式

在梳理OAuth2.0协议流程的过程中,其实有一个主线,就是三方参与者之家的信任程度。
普通令牌: b9f2eaa1-8715-4f03-86c7-06bf757a5f7c
普通令牌只是一个随机的字符串,没有特殊的意义。这就意味着,当客户带上令牌去访问应用的接口时,应用本身无法判断这个令牌是否正确,他就需要到授权服务器上去判断令牌是否有效。在高并发场景下,检查令牌的网络请求就有可能成为一个性能瓶颈。
改良的方式就是JWT令牌。将令牌对应的相关信息全部冗余到令牌本身,这样资源服务器就不再需要发送请求给授权服务器去检查令牌了,他自己就可以读取到令牌的授权信息。JWT令牌的本质就是一个加密的字符串!!
JWT令牌:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic2FsYXJ5Il0sInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsiYWxsIl0sImV4cCI6MTYxNjY3MjM3OCwiYXV0aG9yaXRpZXMiOlsibW9iaWxlIiwic2FsYXJ5Il0sImp0aSI6ImI1MDg2OWE0LTIzZmEtNDg2Yy1hZGJlLTljNTlmMjRiMDY4YSIsImNsaWVudF9pZCI6ImMxIn0.tJ5d7RBKPj8d6w7826OqS6_2pDf_ZXvwkJHMO2uPVAg

六、什么是SSO?与OAuth2.0有什么关系?

OAuth2.0的使用场景通常称为联合登录。 一处注册,多处使用。
SSO Single Sign On 单点登录。 一处登录,多处同时登录。
SSO的实现关键是将Session信息集中存储。Spring Security

七、如何设计一个开放授权平台?

开放授权平台也可以按照认证和授权两个方向来梳理。
1、认证: 就可以按照OAuth2.0协议来规划认证的过程。
2、授权: 首先需要待接入的第三方应用在开放授权平台进行注册,注册需要提供几个必要的信息 clintID, 消息推送地址,密钥(一对公私钥,私钥由授权平台自己保存,公钥分发给第三方应用)。然后,第三方应用引导客户发起请求时,采用公钥进行参数加密,授权开放平台使用对应的私钥解密。
接下来:授权开放平台同步响应第三方应用的只是消息是否处理成功的结果。而真正的业务数据由授权开放平台异步推动给第三方应用预留的推送地址。

10.图灵学院-----阿里/京东/滴滴/美团整理----安全验证篇相关推荐

  1. BAT/头条/小米/京东/滴滴/美团...互联网大厂员工一年究竟能挣多少钱?

    点击"技术领导力"关注∆  每天早上8:30推送 本文转自:HR人力资源成长俱乐部 声明:本文数据部分来自所涉公司官方微信公众号(如:字节范儿),部分来自脉脉各公司职言区,另有部分 ...

  2. 阿里京东滴滴等大厂面试题汇总

    文章目录 11月面:京东一面[京东云与AI-协同办公]: 京东一面现场面[京东云与AI-平台创新组]: 京东二面: 11月面:滴滴视频面[橙心优选]: 11月面:国美零售[大数据-搜索组] 8月面:阿 ...

  3. 把最新JAVA面试真题(阿里/京东/菜鸟)整理出来,却被自己菜哭了

    前言 2020终于迎来了最后的两个月,这一年,全世界都不安定,被疫情包围,渐渐治愈和免疫,国内虽然看着和往常没有多大的区别,但对于经济的冲击,不知道又倒退了多少年?大大小小的公司面临倒闭或已破产,对于 ...

  4. 98页PPT,看懂阿里、小米、京东、美团的组织架构和战略变迁!

    来自公众号:经纬创投 今天分享的这篇文章,来自方正证券发布的名为 "从组织架构视角出发,回顾四大商业巨头的战略变迁--阿里.小米.京东.美团"的报告. 这份长达98页PPT的报告很 ...

  5. 横扫阿里、滴滴、美团后,3年经验的Java后端妹子整理出这份厚厚的面经!

    横扫阿里.滴滴.美团后,3年经验的Java后端妹子整理出这份厚厚的面经! 扫描下方海报二维码,试听课程: (课程详细大纲,请参见文末) ================================ ...

  6. 阿里、京东、美团、滴滴的 Dubbo / JVM / Spring 面试题及答案(2)

    最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴.京东.美团.滴滴),面试回来之后会发给我一些面试题.有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的. 我特意整理了一下,有很多问题 ...

  7. 2017派卧底去阿里、京东、美团、滴滴带回来的面试题

    转载自 2017派卧底去阿里.京东.美团.滴滴带回来的面试题及答案 一,阿里巴巴面试题 二,京东面试题 三,美团面试题 四,滴滴面试题 五,本次卧底面试得到的结论 通过面试题来看,可以看出目前互联网公 ...

  8. 【最新阿里-京东-美团-滴滴-面试题及答案】

    最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴.京东.美团.滴滴),面试回来之后会发给我一些面试题.有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的.我特意整理了一下,有很多问题不 ...

  9. java中审核订单流程图_Java 后端横扫阿里、滴滴、美团总结的面试经验!

    这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金山云. ...

最新文章

  1. 1.5K star量,上古老番变4K,B站开源超分辨率算法
  2. C++ cctype定义的函数 - 学习笔记(7)
  3. 【Linux/Ubuntu学习3】解决ubuntu解压windows生成的zip文件时乱码问题
  4. firewalld/iptables防火墙维护和状态查询命令(防火墙重载,区域操作命令,开启服务或端口,堵塞端口,iptables规则添加和删除)
  5. php代理m3u8,PHP实现m3u8并发下载
  6. 微博feed系统的push和pull模式和时间分区拉模式架构探讨
  7. 后端的日期类型赋值前端表单_Spring Boot实践--前端字符串日期自动转换成后台date类型。...
  8. python多进程之间的通信:消息队列Queue
  9. mac M1 下安装docker 及相关镜像
  10. STM32CubeMX——固件库下载以及安装
  11. 计算机图形学及CAD技术 微盘,计算机图形学及cad技术讲义——曲线曲面基本理论.pdf...
  12. VirtualBox中虚拟机IP地址相同
  13. 数据大屏产品介绍PPT_【达索系统】 Ortems APS产品介绍 PPT
  14. telegram bot : 自动下载youtube视频 发送到电报客户端
  15. 十五、JDBC(高琪java300集+java从入门到精通笔记)
  16. 菜狗杯Misc你会异或吗wp
  17. obs-studio 二次封装 (四)obs 音视频采集到推流大体流程图
  18. dva的用法_使用 dva 构建小型前端项目 (一)
  19. cocos2d 3.3 lua 代码加密 luac
  20. python + openpyxl 输出Excel单元格大小自适应和填充

热门文章

  1. 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)
  2. 爱上开源之一款查询docker容器启动命令的工具
  3. 正则表达式--教程二(语法)
  4. rk平台vr主板项目开发总结
  5. 工程测量乙级资质申请条件及具体流程
  6. 用树莓派搭建远程下载+私有云盘(中篇)
  7. 数据安全与销毁:数据安全已经上升到了国家战略层面
  8. C# 群发邮件 (密送、抄送)
  9. Springboot过滤xss
  10. [ECE]模拟试题-4