Web标准与前端开发及安全之旅 | 青训营笔记

65 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的第5天

关于前端开发

  • 起源、架构、变迁
    -只读时代1989-2004
    -体验时代2005-2010
    -敏捷时代2010-2021
  • 前端应用的领域
    -To Business
    -To Customer
    -To Developer
  • 语言、框架、工具
    -HTML(structure)
    -CSS(presentation/appearance)
    -JavaScript(dynamism/action)
  • 前端学习路线图

关于Web标准

  • 了解Web标准组织
    -W3C:World Wide Web Consortium
    -Ecma:Ecma International
    -WHATWG:Web Hypertext Application Technology Working Grop
    -IETF:Internet Engineering Task Force
  • W3C与Ecma会员
    -W3C目前在全球有457家会员(link),其中北航总部(中国区)会员47家(link)
    -Ecma的AM(Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家(link)
  • W3C规范制定流程 0b10d70802e4b61aa58b103d957e5e6.jpg -Explainer demo
    -Find the right community/group
    -Web IDL for APIs link
    -Step-by-step algorithms
    -GitHub,Markdown,respec,bikeshed,etc
    -Get an early review w3ctag/design-reviews
    -Write web-platform-tests(WPT)tests
  • TC39流程
    7481a3a8cc860252d47aa8da2581766.jpg -Championing a proposal at TC39
    -How to write a good explainer
    -Presenting a Proposal to TC39
    -Reading a proposal draft
    -Stage 3 Proposal Reviews
    -How to experiment with a proposal before Stage 4
    -Implementing and shipping TC39 proposals
  • 如何参与--关注会议 -W3C会议
    年度大会:AC(Advisory Committee)、TPAC(Technical Plenary and Advisory Committee)
    工作组会议:每月会议、各种研讨会
    -Ecma会议 年度大会:GA(General Assembly)
    TC39会议:每1-2个月

Web安全

安全问题“很常见”,会危害用户、公司、程序员
两个角度看web安全

  • 假如你是一个hacker——攻击
    -Cross-Site Scripting(XSS)跨站脚本攻击XSS
    特点:通常难以从UI上感知(暗地执行脚本)、窃取用户信息(cookie/token)、绘制UI(例如弹窗,诱骗用户点击/填写表单)
    分类:Stored XSS(存储型XSS攻击)、Reflected XSS(反射性XSS攻击)、DOM-based XSS(基于DOM的XSS攻击)、Mutation-based XSS(基于Mutation的XSS攻击)
    -Cross-site request forgery(CSRF)跨站伪造请求
    特点:在用户不知情的前提下、利用用户权限(cookie)、构造指定HTTP请求,窃取或修改用户敏感信息
    分类:GET请求
    -Injection(注入攻击)
    分类:SQL Injection、CLI、OS command、Service-Side Request Forgery(SSRF)
    -Denial of Service(DoS)服务拒绝
    通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应等多请求,导致请求挤压,进而雪崩效应
    -Distributed DoS (DDoS)
    短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应新请求
    特点:直接访问IP、任意API、消耗大量带宽(耗尽)
    -中间人攻击
    明文传输、信息篡改不可知、对方身份未验证
  • 假如你是一个开发者——防御
    -XSS:永远不信任用户的提交内容、不要将用户提交内容直接转换成DOM
    -CSP:哪些源(域名)被认为是安全的、来自安全源的脚本可以执行,否则直接抛错、对eval+inline script说不
    -Injection beyond SQL:最小权限原则、建立允许名单+过滤、对URL类型参数进行协议、域名、ip等限制
    -DDOS:流量治理、快速自动扩容、非核心服务降级
    HTTPS的一些特点:可靠性加密、完整性MAC验证、不可抵赖性数字签名
  • 安全无小事
  • 使用的依赖可能成为最薄弱的一环
  • 保持学习心态