into-piece / Step-By-Step

每天一题向前端架构师前进
4 stars 1 forks source link

20200522 #32

Open into-piece opened 4 years ago

into-piece commented 4 years ago

腾讯面试

csp(内容安全策略

内容安全策略(CSP)是一个 HTTP Header,CSP 通过告诉浏览器一系列规则,严格规定页面中哪些资源允许有哪些来源, 不在指定范围内的统统拒绝。

使用它是防止跨站点脚本(XSS)漏洞的最佳方法。由于难以使用 CSP 对现有网站进行改造(可通过渐进式的方法),因此 CSP 对于所有新网站都是强制性的,强烈建议对所有现有高风险站点进行 CSP 策略配置。

CSP被设计出来的目的就是为了效防范内容注入攻击,如XSS攻击等.

它通过让开发者对自己WEB应用声明一个外部资源加载的白名单,使得客户端在运行WEB应用时对外部资源的加载做出筛选和识别,只加载被允许的网站资源.对于不被允许的网站资源不予加载和执行.同时,还可以将WEB应用中出现的不被允许的资源链接和详情报告给我们指定的网址.如此,大大增强了WEB应用的安全性.使得攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的服务器.

使用方式

  1. meta标签
    <meta http-equiv="Content-Security-Policy" content="default-src 'self';">
    <meta http-equiv="content-security-policy-report-only" content="default-src 'self';">
  2. http header

一种是后端开发或服务运维人员对页面的HTTP请求的响应配置Content-Security-Policy属性,如在NGINX服务器上配置如下

OAuth2

OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息

OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0

  1. 第三方应用向资源持有者请求获取资源
  2. 资源持有者授权给予第三方应用一个许可
  3. 第三方应用将该许可给予认证服务器进行认证,如果认证成功,返回一个Access Token
  4. 第三方应用使用该access token到资源服务器处获取该access token对应的资源(也就是第一步中资源持有者自身的资源)