IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 聊聊前端安全和用户体验 -> 正文阅读

[开发测试]聊聊前端安全和用户体验

缘起


今天听了一群大大们分享,结合自己的见解,给各位童鞋发下这块内容吧。这块内容小编主要是想在两方面分享,第一个是安全,第二个是给用户好的体验。

安全问题


这个问题其实没啥好多做分享的,内容还是老生常谈的内容,比如XSS,CSRF等等!小编从以下几个方面来聊聊吧。

  • 源码的保护
  • 写代码时的防范
  • 如何防范攻击

源码的保护


先来说说源码的保护,这个要从攻击者获取源码说起,一旦攻击者获取了源码,那么可以做一些不可思议的事,从而达到攻击的效果。

  • CSP,这个主要用来防御远程资源加载,防止攻击者可以注入一段带有攻击性的脚本,来达到自己的目的。
  • 对源代码进行二次加密上线,比如使用bytenode,把源代码编译成v8字节码,这样就提高了攻击者编译破解的成本。
  • 线上已经打包上线的资源,也可以通过生成hash文件签名的方式,我们可以把资源A这个版本的资源,按照一定规则生成hash文件签名,然后存到云端。这样一旦攻击者对资源进行了二次打包处理等等,造成hash签名改变,那么就可以对比云端的hash文件签名,做针对性处理!

写代码时的规范


这个其实也是长远的方法,大家简单看下就好。

  • eslint等工具类检测
  • Code Review
  • 单元测试
  • ts
  • git提交的钩子处理

如何防范攻击


  • 对用户输入的内容进行严格的长度和格式检查
  • 对输出内容遵循各个场景的最佳实践,说白了就是按照规则来
  • 白名单
  • 使用httpOnly,CSP,CORS,CSRF等
  • 使用自动扫描工具检查线上代码的漏洞
  • 每个请求附加唯一标识符,用来判断该请求是否合法
  • 安全内链,对重要的请求,给用户的是一个外链,返回的是一系列密匙,把密匙给安全内链使用,再返回数据,大家可以看看BAT网站的请求。

给用户好的体验


这个才是今天主要的内容,如何给用户好的体验,这个可以从以下两个方面入手。

  • 上线前的预防排坑
  • 上线后的定位问题,快速处理

上线前的预防排坑


  • Code Review
  • 单元测试
  • 多个环境验证代码的健壮性
  • 多个场景验证代码的健壮性(包括但不限于不同的设备,不同的浏览器,不同的用户使用等等)
  • 灰度发布
  • 攻防演练

攻防演练


其他的其实没啥好说的,我们重点聊聊攻防演练,大家按照以下几点就可以了。

  • 确定需要演练的分支和版本
  • 攻方按照特定的方式进行操作,拿白屏来说,攻方注入一段向演练服务器发送一段代码,守方接受了这段代码,导致线上dom被删除,从而显示白屏。守方这个时候是不知道啥原因白屏的,那么守方需要快速定位,比如看看是不是资源加载超时(通过timeout等看日志),然后看看是不是dom没加载(body高度,特定元素是不是存在),定位到问题,进行处理即可。

上线后的定位问题,快速处理


这个其实是为了减少损失,提高用户体验,其实主要还是从下面几点来判断的。

  • 埋点,这个是最常见的
  • 经验判断
  • 连线上环境调试,复现,如果公司允许的话,哈哈哈

尾声


今天的分享就到这里了,喜欢小编的话,记得多多关注,打赏一波哦,哈哈哈哈!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:39:31  更:2021-09-14 13:40:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 4:15:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码