美文网首页
第九周-安全&Node.js

第九周-安全&Node.js

作者: seeddyan | 来源:发表于2018-08-31 17:01 被阅读0次

    安全

    浏览器的同源策略

    Security and Identity

    httphijack

    使用 Javascript 实现前端防御 http劫持 及防御 XSS攻击,并且对可疑攻击进行上报。防御 XSS 及 http劫持,更多的还是得依靠升级 https 和 CSP(Content-Security Policy)/CSP2(内容安全策略) 等非 JavaScript 技术,高明的攻击者可以绕过任何 JavaScript 防护。

    https?

    CSP

    XSS

    分存储型和反射型

    X-XSS-Protection

    CSRF

        case '/api/jsonp':
          let csrf_close = true;
          if (csrf_close || csrf.verify(ctx.query.token)) {
            ctx.type = 'js';
            ctx.body = `${ctx.query.callback}(${Math.random()})`;
          } else {
            ctx.status = 403;
            ctx.body = 'token error'
          }
          break;
    

    可以校验拦截攻击

    clickjacking 和 X-Frame-Options

    点击劫持 栗子:骗点击量、投票等等
    可用opacity:0; pointer-events:none;
    不可用:display:none无点击元素, visible:hidden

    参考例子

    Node.js

    Node.js 的历史与现状

    • Chromium、Chrome、V8
    版本信息
    wiki
    • Ryan Dahl in 2009 (Linux and Mac OS X) -> Joyent
    • January 2010 npm(package manager)
    • June 2011, Microsoft and Joyent implemented a native Windows version of Node.js. The first Node.js build supporting Windows was released in July 2011.
    terminal可用npm version看node版本

    源码 & API

    https://github.com/nodejs/node
    https://nodejs.org/en/

    NPM(Node Package Manager)

    https://www.npmjs.com/
    • npm publish
    • left-pad 事件
    • 安全问题

    应用场景

    • 构建工具
    – ant(Java) -> grunt -> gulp -> webpack -> parcel ?
    • http server
    – connect express koa eggjs hapi fastify
    npm rank
    awesome-micro-npm-packages

    http & express & koa

    koa
    koa和express的异步处理不同
    koa的异常处理更方便

    选择什么框架

    express koa
    Github Stars 37k+ 20k+
    Contributions 220 148
    Middlewares 3k+ 1k+
    优点 最流 、最出名、 态成熟 依赖模块少,优雅的异常处理
    缺点 异常处理 生态相比不够成熟

    cache & db

    • redis & lru-cache:临时性的缓存可用redis
    • mongodb & mongoose

    相关文章

      网友评论

          本文标题:第九周-安全&Node.js

          本文链接:https://www.haomeiwen.com/subject/shwmiftx.html