首页 > 其他分享 >前端知识-质量与安全

前端知识-质量与安全

时间:2025-01-21 17:11:37浏览次数:1  
标签:依赖 恶意代码 前端 知识 用户 恶意 质量 测试

质量保障

  • 编码质量
    • 防御性编程: 判空处理; 异常处理try-catch; 降级处理(对允许出错的弱依赖场景, 可以返回默认值, 增加系统容错性)
    • 质量管理工具: 静态检查工具(ESLint); 风格控制工具(Prettier)
    • 代码评审: 交叉验证代码设计的合理性
  • 测试
    通过编写测试用例来检查程序执行结果是否符合预期
    • 单元测试: 对实现某一特定功能的函数进行测试. 常见框架: Jest和Mocha
    • 集成测试: 验证各模块之间的正确性. 常见框架: Cypress和Playwright
    • 兼容性测试: 利用特性探针验证生产环境中某个API是否可用, 再配合埋点日志收集检测数据, 就可以提前准备兼容方案.
      常见的工具: Modernizr, caniuse, BrowserStack, Puppeteer
    • 性能测试( 见 用户体验 文章 )
    • UI测试: 关注用户界面的展示和交互前后是否符合预期. 工具: React的Testing Library, Vue的Test Utils
  • 攻击防御
    • 跨站脚本攻击(XSS), 攻击者通过某些手段将恶意代码注入到用户的网页中来窃取敏感信息或是执行恶意操作.
      防御措施: 在代码注入环节进行校验和过滤, 比如采用sanitize-html对用户输入进行过滤.
    • 跨站请求伪造(CSRF), 攻击者诱导用户访问包含恶意代码的网页, 在用户不知情的情况下, 向没有做好防护的服务器发送恶意请求.
      防御方法: 同源检查和Token检查, 都依赖于服务器的检验保护.
  • 稳定性
    供应链安全: 在一个标准研发流程中, 采用持续集成的方式迭代应用, 构建系统会从公网或内网NPM仓库中下载和安装依赖, 此时三方依赖的错误更新导致构建失败, 恶意脚本植入导致敏感信息泄露等.
    提升供应链的稳定性和安全性: 使用依赖锁文件(package-lock.json)并定期更新; 在构建系统中接入安全组件屏蔽恶意版本

标签:依赖,恶意代码,前端,知识,用户,恶意,质量,测试
From: https://www.cnblogs.com/khrushchefox/p/18683852

相关文章

  • 知识产权(专利,商标,版权)管理系统/平台 数字化平台 CRM 2025
    大为功能全面:提供提案管理、专利管理、运营管理、商标管理、著作权管理、商业秘密管理等知识产权全方位的管理。集团化管理:采用BS架构体系,具有集团化管理能力,强大的权限管理体系,支持集团总部、各分子公司/事业部的业务数据完全隔离。流程自定义:用户可根据自身业......
  • Web前端技术基础
    浏览器基本应用浏览器组成结构输入url发送了什么?url解析:判断url是否符合规范浏览器判断缓存:判断请求的资源是否有缓存,如果有就不需要向服务器发送新请求DNS解析,获取目标服务器ip建立TCP连接(三次握手)发送http请求服务器处理,返回数据浏览器解析渲染页面TCP连接关闭(四次挥手)......
  • 一个由 Go 语言开发的开源屏幕共享工具,免费好用,高质量无延迟,保证数据安全(带私活源码)
    想必大家在日常的工作中,会经常需要分享代码、演示项目或者进行在线教学,这就需要一个既高效又便捷的屏幕共享工具。然而,现有的一些解决方案往往存在延迟高、画质差等问题。今天就分享一个开源的屏幕共享项目-screego,不但免费,还能在我们自己的服务器上运行,保证数据安全。项......
  • 数据库基础知识:理论、E-R图、事务、原则
    (5)数据库理论与E-R图数据库理论(DatabaseTheory)是在创建数据库的过程涉及创建现实世界的抽象模型;将现实世界的概念作为实体表示在数据库中。E-R图(EntityRelationshipDiagramming)用于表示数据模型的图形工具/关系的抽象,主要用于数据库设计阶段,通过实体(Entity)、属性(Attribut......
  • 有效提高BT下载速度:Tracker 正确的使用知识
    前言BT下载对DHT和Tracker是非常依赖,然而网上有不少的Tracker列表项目,每次更新都要全部添加一遍,显然很麻烦。那么就需要一个每次可以一键更新的列表页面,每天自动获取热门Tracker列表项目,去重复后制作成一个Tracker列表合集。这样你不需要去一个个添加Tracker到......
  • 必须知道!单片机原理及应用的关键知识点
    大家好!今天,咱们来聊聊一个听起来就特别技术范儿,但实际上和我们每个人的生活都息息相关的话题——单片机原理及应用。别急,我知道你们可能已经在心里默念:“这不就是那些技术宅才关心的事儿嘛,跟我有啥关系?”别走开,我保证,这事儿比你想象的有意思多了,而且说不定还能让你在朋友面......
  • 《如何用代码提升财务分析能力》第1章 Python基础知识
    第1章Python基础知识1.1初识Python1.1.1Python简介Python发展历史Python由GuidovanRossum于1989年圣诞节期间开始开发,1991年发布第一个版本。它的名字来源于Guido喜欢的英国喜剧团体MontyPython。Python的发展经历了几个重要阶段:Python1.0(1994年):引入lambda、......
  • 代码分割:提升前端性能的利器
    在现代前端开发中,随着应用规模和复杂度的不断增加,页面加载速度成为了用户体验的关键因素之一。一个常见的性能问题是,浏览器需要一次性加载所有的JavaScript代码,这会导致较长的加载时间,影响页面的首次渲染时间。为了改善这一问题,代码分割(CodeSplitting)成为了一个重要的优化技术......
  • 前端知识-工具链
    工具链一组用于软件开发的工具和技术,帮助开发者管理好从源代码到最终软件的整个开发过程,对于前端来讲,这些工具通常包括:集成开发环境,IDE包管理工具,核心是代码组织与复用npm,兼容性最强,速度较慢yarn,通过并行安装和缓存,解决了npm速度慢的问题,但资源消......
  • AI大模型-提示工程学习笔记9-生成知识提示
    卷首语:我所知的是我自己非常无知,所以我要不断学习。写给AI入行比较晚的小白们(比如我自己)看的,大神可以直接路过无视了。有一种改进大语言模型(LLM)推理能力的技术:生成知识作为提示的一部分。这种方法由Liu等人(2022)提出,旨在通过让模型先生成相关知识,再将这些知识整合到推理过......