当前位置: 首页 > news >正文

开发涉及的安全规范整理

#1024程序员节|征文#
在这里插入图片描述

文章目录

    • 前言
    • 安全场景与措施
      • API调用方式
      • 鉴权
      • 参数校验
      • 日志打印
      • 数据保存加密
    • 总结

前言

  这篇文章我们来整理下写代码和方案设计中的安全规范问题,内容偏服务端,即使是入门的新人,如果你对安全有所了解会让成熟规范的团队对你高看一眼。安全经常是在风平浪静时被大家所忽视,出事了再弥补,实际上安全工作首先要做的是防患于未然而不是亡羊补牢,成熟的公司和团队会给开发制定严格的安全编码规范,大家自己团队里最重视的安全措施有哪些?可以评论分享下,本文尽可能给大家罗列一些基本的安全措施。

安全场景与措施

API调用方式

  不能使用公网IP加端口的http方式请求,要用https协议加上API域名的方式去访问后端的API,https协议作为传输通道更安全,实际生产中大家都是这样做的。

鉴权

  不管是提供给客户端的外部接口还是服务间调用的内部接口,都不能免鉴权给用户访问,除非用户注册这种特殊功能接口或者你们的应用是不带账号登录的,否则,用户登录后能执行的操作涉及到访问后端API时,后端必须接收登录token并解析鉴权,token的生成方式常用的是JWT。

参数校验

  参数校验是一个很基本的安全规范措施,因为参数传入的攻击类型很多,比如SQL注入、JS脚本注入、日志注入(后文特别提到)等,要针对性的拦截掉可能的攻击参数,提示参数无效。

日志打印

  要注意,敏感信息不能在服务器日志中打印,服务器日志被认为是可窃取的,对于用户联系账号、密码、身份证号等敏感信息在日志中不能打印,或者只能脱敏打印(就像快递联系方式中间都是*****一样)。另外就是参数校验的时候要考虑日志注入的校验,因为别人有可能传参的时候传了一个服务器命令过来,如果这时候日志打印了的话,很可能造成外部命令的执行。

数据保存加密

  对于敏感的用户信息数据,存数据库的时候要加密保存,比如账号和密码,账号一般采用可逆的加密算法,密码一般采用不可逆的(不需要能解密),比较密码是否正确只需要比较加密值是否一样即可。特别要提一点,就算是redis这种缓存数据库,用户信息也不能明文地作为key-value去保存。

总结

  安全规范的要求其实远不止本文所说的这些,即使是上面这些安全措施,比如涉及到某些加密方式涉及到加密迭代次数设置的,都会要求要1000次或者100000次以上这种细节的要求。安全无小事,希望各位开发们注意安全。

相关文章:

开发涉及的安全规范整理

#1024程序员节|征文# 文章目录 前言安全场景与措施API调用方式鉴权参数校验日志打印数据保存加密 总结 前言 这篇文章我们来整理下写代码和方案设计中的安全规范问题,内容偏服务端,即使是入门的新人,如果你对安全有所了解会让成熟…...

驱动开发系列26 - Linux Graphics 调试 mesa 的 glDrawArrays (二)

目录 一:概述 二:Gallium3D 的工作流程 三:tc_draw_vbo 与 tc_call_draw_single 的关系: 四:tc_draw_vbo 与 tc_call_draw_single 的具体执行流程: 五:mesa中线程池设计介绍: 六:总结: 一:概述 众所周知,Mesa 的 Gallium3D 是一个图形驱动框架,它将图形管线…...

laya-spine动画的使用

laya2和laya3的spine动画在使用过程中并无太大区别,这里以laya3为例。 转换 首先将做好的spine动画按jison格式导出,导出完之后的文件应包括图集、图片和json类型的3个文件。然后再用laya的骨骼动画转换工具转换成laya内置的模式,转换后的文…...

Vue项目实战-新能源汽车可视化(一)(持续更新中)

一.项目代码 1.App.vue <template><!-- 模板--><div id"wrapper"><div style"width: 100%"><el-tabs v-model"activeName" id"tabs"> <!-- 标签栏里包含了三个标签面板&#xff0c;分别是研发与维…...

百度SEO前10关键词排名波动跟用户行为反馈有很大关系

大家好&#xff0c;我是林汉文&#xff08;谷歌SEO专家&#xff09;&#xff0c;在百度SEO优化中&#xff0c;网站的排名并非一成不变&#xff0c;尤其是前10名的位置&#xff0c;更是动态变化。很多站长可能会发现&#xff0c;有时明明内容质量不错&#xff0c;外链也稳定&…...

基于微信小程序的电影交流平台

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

Java实现 itext PDF文件打印水印(文字和图片水印)

itext PDF文件打印水印 前言&#xff1a;公司有个需求&#xff0c;打印的合同模板要加上水印&#xff0c;但是由于itext版本问题&#xff0c;网上千篇一律的方法基本都没办法有效使用&#xff0c;然后自己琢磨下&#xff0c;记录下实现水印的功能的笔记。多页上都加上水印&…...

面经之一:Synchronized与ReentrantLock区别

Synchronized与ReentrantLock是Java中用于实现线程同步的两种主要机制&#xff0c;它们各有特点和适用场景。以下是它们的主要区别&#xff1a; 实现方式&#xff1a; Synchronized&#xff1a;是Java语言内置的关键字&#xff0c;通过JVM层面的监视器&#xff08;Monitor&…...

论文速读:面向单阶段跨域检测的域自适应YOLO(ACML2021)

原文标题&#xff1a;Domain Adaptive YOLO for One-Stage Cross-Domain Detection 中文标题&#xff1a;面向单阶段跨域检测的域自适应YOLO 1、Abstract 域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而&#xff0c;两…...

React中在map遍历中,给虚拟标签(<></>)加key

有时我们可能会需要在遍历时使用虚拟标签包裹内容&#xff0c;而不使用实际标签 &#xff0c;这种时候会有一个问题&#xff0c;就是虚拟标签无法加key&#xff0c;这样控制台会一直有警告。 {[1,2,3,4].map(v><><div></div><div></div><…...

大数据生态守护:Hadoop的深度保护策略

PART 1 从Hadoop运行原理透视数据保护需求 1、Hadoop的定义与范畴 Hadoop&#xff0c;狭义而言&#xff0c;是一个专为大数据设计的分布式存储与计算平台&#xff0c;其核心组件包括HDFS&#xff08;Hadoop分布式文件系统&#xff09;、MapReduce&#xff08;分布式计算框架&a…...

代码欣赏之:此题易错在 a+b 非要写成 a-fabs(b).因为这样就成了浮点值了,得不到准确数

代码欣赏之&#xff1a;此题易错在 ab 非要写成 a-fabs(b).因为这样就成了浮点值了&#xff0c;得不到准确数 7-23 小孩子才做选择&#xff0c;大人全都要 #include<stdio.h> #include<math.h> int main() {int a,b;scanf("%d %d",&a,&b);if(a&…...

ECharts饼图-环形图,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个饼图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供详…...

arcgis js 怎么加载geoserver发布的wms服务

arcgis js api加载wms服务&#xff0c;官方的参考样例&#xff1a; WMSLayer | Sample Code | ArcGIS Maps SDK for JavaScript 4.30 | Esri Developer 按照官方样例加载比较奇怪&#xff0c;我们平常习惯用url或者json的方式加载&#xff0c;稍微改一下就行&#xff0c;如下…...

前端_006_Vue2

文章目录 vue常用属性生命周期模版语法自定义组件全局注册 单文件组件路由 本文全部参考Vue2 简介&#xff1a;Vue是一个数据响应式&#xff0c;MVVM模型的JS框架 官网&#xff1a;https://v2.cn.vuejs.org/v2/guide/ API&#xff1a;https://v2.cn.vuejs.org/v2/api/#method…...

论多端数据互通网游的架构评估

摘要 在2023年&#xff0c;笔者参与了一款多端数据互通网络游戏的架构评估工作&#xff0c;并担任评估团队的核心成员。该游戏支持PC、移动设备和游戏机等多种终端&#xff0c;实现了数据的实时互通。本文通过该项目的评估实践&#xff0c;探讨了多端数据互通网游架构评估的关…...

网页HTML编写练习:华语榜中榜

网页效果 HTML代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice…...

C++ 编程基础:深入理解 `pair`(键值对) 和 `unordered_map`(无序映射)

C 编程基础&#xff1a;深入理解 pair&#xff08;键值对&#xff09; 和 unordered_map&#xff08;无序映射&#xff09; 在 C 标准库中&#xff0c;pair&#xff08;键值对&#xff09;和 unordered_map&#xff08;无序映射&#xff09;是两种常用的数据结构&#xff0c;它…...

高德动态地图

1.搭建页面结构 <div class"dataAllBorder02" style"position: relative; overflow: hidden;"><div class"map_title_box" style"height: 6%"><div class"map_title_innerbox"><div class"map_t…...

springboot集成camunda学习与使用

springboot集成camunda学习与使用.md 0、前言一、Spring Boot 集成camunda流程引擎1.新建全新的springboot工程2.添加pom.xml依赖3.启动Spring Boot工程4.切换成mysql数据库5.设计并部署一个BPMN流程6.camunda流程引擎测试6.1 通过camunda web控制台测试6.2 通过camunda rest接…...

RK3568开发板TB-96AI-3568CE深度评测:从核心接口到AI应用实战

1. 从芯片到板卡&#xff1a;TB-96AI-3568CE的设计哲学当一块芯片从图纸走向现实&#xff0c;成为一块可以握在手中的开发板时&#xff0c;这中间的路程远不止是简单的引脚引出和电源接通。我接触过不少基于RK3568的方案&#xff0c;但拿到贝启科技这块TB-96AI-3568CE时&#x…...

创业公司如何设计有效的OKR

创业公司如何设计有效的OKR 前言 创业第一年&#xff0c;我们没有明确的目标&#xff0c;大家都很忙&#xff0c;但不知道忙什么。每个人都在做事&#xff0c;但好像没有形成合力。 后来我开始研究 OKR&#xff08;Objectives and Key Results&#xff09;&#xff0c;发现这不…...

STC15单片机定时器T0配置详解:从1T/12T模式选择到1秒精准定时(附完整代码)

STC15单片机定时器T0配置实战&#xff1a;1秒精准定制的全流程解析 从理论到实践的定时器T0深度探索 在嵌入式系统开发中&#xff0c;定时器功能如同系统的心跳&#xff0c;为各类任务提供精准的时间基准。STC15系列单片机凭借其高性能和丰富的外设资源&#xff0c;成为许多开…...

【备考高项】模拟预测题(五)案例分析及答案详解

更多内容请见: 《备考信息系统项目管理师》 - 专栏介绍和目录 文章目录 试题一: 【问题1】(10分) 【问题2】(5分) 【问题3】(6分) 【问题4】(4分) 试题二 【问题1】(4分) 【问题2】(3分) 【问题3】(8分) 【问题4】(7分) 【问题5】(8分) 试题三 【问题1】(…...

用Xilinx Artix-7 FPGA手把手教你实现一个32位ALU(含数码管显示与状态灯)

从零构建Xilinx Artix-7 FPGA上的32位ALU实战&#xff1a;数码管动态显示与状态灯设计 在数字电路与计算机体系结构的学习中&#xff0c;算术逻辑单元(ALU)作为CPU的核心组件&#xff0c;其设计与实现一直是硬件工程师的必修课。本文将带领读者使用Xilinx Artix-7 FPGA开发板(x…...

Perplexity新闻资讯搜索终极对比:VS Google News、Bing News、Feedly——基于3000+查询样本的准确率/时效性/溯源完整性三维压测报告

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Perplexity新闻资讯搜索终极对比&#xff1a;VS Google News、Bing News、Feedly——基于3000查询样本的准确率/时效性/溯源完整性三维压测报告 在为期12周的基准测试中&#xff0c;我们构建了覆盖科技、金融、…...

【亲测免费】 Python Qt 图形界面编程资源下载

Python Qt 图形界面编程资源下载 【下载地址】PythonQt图形界面编程资源下载 《Python Qt 图形界面编程》课程涵盖了PySide2、PyQt5、PyQt和PySide等框架的使用&#xff0c;帮助学习者掌握Python图形化界面编程的核心知识。课程内容详实&#xff0c;适合初学者入门&#xff0c;…...

利用模型广场为不同文本处理任务选择合适的大模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用模型广场为不同文本处理任务选择合适的大模型 面对创意写作、代码生成、文档总结等多样化的AI任务&#xff0c;开发者或产品经…...

长期项目使用Taotoken Token Plan套餐的成本控制实际体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期项目使用Taotoken Token Plan套餐的成本控制实际体验 1. 项目背景与成本挑战 在为期数月的AI应用开发项目中&#xff0c;我们…...

铸件去毛刺,伯朗特机器人带气动打磨头,恒力去除浇口残余

在铸造行业&#xff0c;无论是金属还是非金属铸件&#xff0c;脱模后都会不可避免地产生飞边、毛刺及浇口残余。这些瑕疵不仅影响产品外观&#xff0c;更可能妨碍后续装配&#xff0c;甚至在部件受力时成为应力集中点&#xff0c;影响产品使用寿命与安全性。传统的人工去毛刺作…...