18Js面试题-性能优化和安全性

998 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情

一、性能优化原则

  • 多使用内存、缓存或者其他方法
  • 减少CPU计算、较少网络

二、加载资源优化

  • 静态资源的压缩合并

image.png

  • 静态资源缓存

image.png

  • 使用CDN让资源加载更快
  • 使用SSR后端渲染,数据直接输入到页面中

image.png

三、渲染优化

  • CSS放前面,Js放后面
  • 懒加载

image.png

  • 减少DOM查询,减少对DOM查询做缓存

image.png

  • 减少DOM操作,多个操作尽量合并在一起执行

image.png

  • 事件节流

image.png

  • 尽早执行操作(如DOMContentLoaded)

image.png

四、安全性

(一)XSS跨站请求攻击

XSS,即Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。

举例:在新浪微博写一篇文章,同时插入一段<script>,攻击代码中,获取cookie,发送到自己的服务器。发布微博后,如果有人查看微博内容,就会把查看者的cookie发送到攻击者的服务器

预防

  • 前端替换关键字,例如替换<为<>为>
  • 后端替换

(二)XSRF跨站请求伪造

XSRF就是攻击者通过一些技术手段欺骗用户去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息、购物等)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。

举例:你已登录一个购物网站,正在浏览商品,该网站付费接口是xxx.com/pay?id=100但是没有任何验证,然后你受到一封邮件,邮件中隐藏者<img src=xxx.com?id=100>,你查看邮件的时候,就已经悄悄付费了

预防

  • 增加验证流程,如输入指纹、密码、短信验证码等