开发涉及的安全规范整理

安全开发规范.docx java安全开发规范-经验之谈 java开发过程中的web网络安全,java代码安全,数据库安全 立即下载

前言

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

安全场景与措施

API调用方式

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

鉴权

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

参数校验

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

日志打印

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

数据保存加密

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

总结

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

安全开发规范手册.docx 1. 背景 4 2. 编码安全 4 2.1. 输入验证 4 2.1.1. 概述 5 2.1.2. 白名单 5 2.1.3. 黑名单 5 2.1.4. 规范化 5 2.1.5. 净化 5 2.1.6. 合法性校验 6 2.1.7. 防范SQL注入 6 2.1.8. 文件校验 6 2.1.9. 访问控制 6 2.2. 输出验证 6 2.2.1. 概述 6 2.2.2. 编码场景 6 2.2.3. 净化场景 7 2.3. SQL注入 7 2.3.1. 概述 7 2.3.2. 参数化处理 7 2.3.3. 最小化授权 7 2.3.4. 敏感数据加密 7 2.3.5. 禁止错误回显 8 2.4. XSS跨站 8 2.4.1. 输入校验 8 2.4.2. 输出编码 8 2.5. XML注入 8 2.5.1. 输入校验 8 2.5.2. 输出编码 8 2.6. CSRF跨站请求伪造 8 2.6.1. Token使用 9 2.6.2. 二次验证 9 2.6.3. Referer验证 9 3. 逻辑安全 9 3.1. 身份验证 9 3.1.1. 概述 9 3.1.2. 提交凭证 9 3.1.3. 错误提示 9 3.1.4. 异常处理 10 3.1.5. 二次验证 10 3.1.6. 多因子验证 10 3.2. 短信验证 10 3.2.1. 验证码生成 10 3.2.2. 验证码限制 10 3.2.3. 安全提示 11 3.2.4. 凭证校验 11 3.3. 图灵测试 11 3.3.1. 验证码生成 11 3.3.2. 验证码使用 11 3.3.3. 验证码校验 11 3.4. 密码管理 12 3.4.1. 密码设置 12 3.4.2. 密码存储 12 3.4.3. 密码修改 12 3.4.4. 密码找回 12 3.4.5. 密码使用 12 3.5. 会话安全 13 3.5.1. 防止会话劫持 13 3.5.2. 会话标识符安全 13 3.5.3. Cookie安全设置 13 3.5.4. 防止CSRF攻击 13 3.5.5. 会话有效期 14 3.5.6. 会话注销 14 3.6. 访问控制 14 3.6.1. 跨权访问 14 3.6.2. 控制方法 14 3.6.3. 控制管理 14 3.6.4. 接口管理 15 3.6.5. 权限变更 15 3.7. 文件上传安全 15 3.7.1. 身份校验 15 3.7.2. 合法性校验 15 3.7.3. 存储环境设置 15 3.7.4. 隐藏文件路径 16 3.7.5. 文件访问设置 16 3.8. 接口安全 16 3.8.1. 网络限制 16 3.8.2. 身份认证 16 3.8.3. 完整性校验 16 3.8.4. 合法性校验 16 3.8.5. 可用性要求 17 3.8.6. 异常处理 17 4. 数据安全 17 4.1. 敏感信息 17 4.1.1. 敏感信息传输 17 4.1.2. 客户端保存 17 4.1.3. 服务端保存 17 4.1.4. 敏感信息维护 18 4.1.5. 敏感信息展示 18 4.2. 日志规范 18 4.2.1. 记录原则 18 4.2.2. 事件类型 18 4.2.3. 事件要求 18 4.2.4. 日志保护 19 4.3. 异常处理 19 4.3.1. 容错机制 19 4.3.2. 自定义错误信息 19 4.3.3. 隐藏用户信息 19 4.3.4. 隐藏系统信息 19 4.3.5. 异常状态恢复 20 4.3.6. 通信安全 20 立即下载

相关推荐

安全合规-软件安全开发过程规范.docx

安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx安全合规-软件安全开发过程规范.docx

软件安全开发 - 流程规范

传统软件开发流程软件安全开发流程新增项客户需求收集客户安全需求收集需求分析与澄清分析客户安全需求,制定安全标准和要求,建立安全需求管理、安全与隐私风险评估软件设计在特性设计中结合安全设计规范进行安全设计,对模块进行威胁建模和攻击面分析软件编码安全编码:新代码使用安全函数,老代码替换危险函数,对代码进行安全检视;使用第三方开源工具或者库,需要使用最好的最新的版本构建满足安全编译选项的要求选择安全的构建工具软件测试对安全设计进行分析与评审,输出安全测试用例。

usstmiracle的博客 3492

HBuilderx连接微信开发者工具

系列文章目录 文章目录系列文章目录前言一、环境1.HBuilerx 工具2.微信开发者工具二、关联微信开发者工具1.HBuilderx新建项目2.关联微信开发者工具3.运行微信小程序出现异常解决方法3.最终效果总结 前言 使用HBuilderx工具关联微信开发者工具,进行小程序开发 提示:以下是本篇文章正文内容,下面案例可供参考 一、环境 1.HBuilerx 工具 HBuilderx 2.微信开发者工具 微信开发者工具 二、关联微信开发者工具 1.HBuilderx新建项目 2.关联微信开发者工具

拥有必珍惜 3074

【安全规范】软件开发安全设计指南(Word文档)

2.1.应用系统架构安全设计要求。2.2.应用系统软件功能安全设计要求。2.5.应用系统数据库安全设计要求。2.3.应用系统存储安全设计要求。2.4.应用系统通讯安全设计要求。2.6.应用系统数据安全设计要求。

xx_123321456的博客 1238

Windows 11下Dify安装部署实战指南

本文详细介绍在Windows 11环境下部署开源LLM应用开发平台Dify的完整流程。涵盖环境准备(WSL 2启用、Docker Desktop安装配置)、源码获取、Docker容器化部署、数据库初始化、服务启动验证等核心步骤。包括环境变量配置、性能优化、安全加固、端口冲突解决、数据库连接故障排查等关键技术要点。为开发者提供从零到一的Dify本地化部署实战指南

weixin_44269410的博客 851

基于Codex Skill的抖音爆款分析与带货视频自动化生成实战

这次我们来看一个基于 Codex 的自动化内容创作项目。核心是利用 Codex 平台的能力,通过自定义的 Skill(技能)来拆解抖音爆款博主的视频模式,并自动生成自己的带货视频。对于内容创作者、电商运营或对短视频自动化感兴趣的技术开发者来说,这是一个将大语言模型(LLM)能力与具体业务场景深度结合的实战案例。 项目的核心价值在于流程自动化。它试图解决一个常见痛点:分析爆款视频的脚本结构、话术、节奏需要大量人工,而模仿创作又耗时费力。通过 Codex 的 Skill 机制,可以将“分析”和“生成”这两个环节

weixin_30420305的博客 382

网站开发常规安全规范(持续更新)

使用HTTPS:确保应用使用HTTPS来加密所有的请求和响应数据,从而防止会话信息在网络中明文传输,减少中间人攻击的风险。当通过POST方法访问要执行某些操作的网页时,生成一个秘钥,将其插入表单的隐藏标签中,只有当秘钥正确时才执行请求的操作。当使用可以调用shell命令的函数时,请检查组成shell参数的所有变量,并确保只执行那些被授权执行的变量。通过串联构建SQL语句时,请使用数据库引擎提供的特殊API来执行转义,并正确地组成SQL语句中的文字。

幻影浪子 974

1.为什么要学习SIMULINK

用户也可以自定义和创建自己的模块,利用这些模块,用户可以创建层次化的系统模型,可以自上而下或自下而上地阅读模型,也就是说,用户可以查看最顶层的系统,然后通过双击模块进入下层的子系统查看模型,这不仅方便了工程人员的设计,而且可以使自己的模型方块图功能更清晰,结构更合理。此外,利用示波器模块或其他的显示模块,用户可以在仿真运行的同时观察仿真结果,而且还可以在仿真运行期间改变仿真参数,并同时观察改变后的仿真结果,最后的结果数据也可以输出到MATLAB工作区进行后续处理,或利用命令在图形窗口中绘制仿真曲线。

FPGA/MATLAB学习教程/源码/项目合作开发 1546

Android开发规范:App安全规范,实战讲述Flutter跨平台框架应用

有的时候为了方便跟踪用户操作反馈,app端往往会把日志保存在sd卡上,然后在适当的机会将用户日志上传到服务器,然后开发人员可以查看用户日志信息,分析相关的问题。但是这样做有个很大的风险就是日志里面往往包含了app的一些敏感信息,比如url地址、参数、还有类名,以及用户的使用记录,包括名称、id、聊天记录等等。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P。

2401_84412648的博客 995

Python爬虫实战:基于Playwright与异步技术的专利数据抓取系统

专利数据是企业技术创新、市场竞争分析和行业趋势预测的关键情报来源。然而,专利数据通常分散在各个国家的专利局网站,数据结构复杂,反爬机制严格,使得高效抓取成为技术挑战。本文将详细介绍如何构建一个基于最新Python技术的专利数据抓取系统,涵盖Selenium的现代化替代方案Playwright、异步编程、智能代理轮换等高级技术。

2201_76125261的博客 1562

实现敌人跟随玩家。(Unity)

首先和玩家设置一模一样,给敌人添加一个刚体,设置一个碰撞器,并设置一个触发器。然后在对场景里面的组件添加导航网格代理并且进行bake烘焙,那样的话敌人就可以在进行烘焙的位置进行移动。创建脚本,并且挂载脚本到敌人的组件上,用代码进行实现效果,并且要挂载目标对象。

weixin_57813136的博客 1868

php 编码规范哪些_整理了一份比较全面的PHP开发编码规范.

这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改!(可能最新的一些php5的规范不够完整,今后有机会保持更新!)目录1 编写目的2 整体要求3 安全规范3.1 包含文件3.1.1 命名规则3.1.2 存放规则3.2 安全规则3.3 一些针对PHP的规则3.4 其它处理规则3.4.1 对输入参数...

weixin_39908588的博客 379

ZYNQ 网络通信的四种实现方案

一,ZYNQ MIO以RGMII 接口连接外部PHY芯片实现LWIP网络通信。 二,ZYNQ PS 的 ENET0/ENET1 通过 EMIO 的方式扩展至 PL,在 PL 中通过 RGMII 接口连接扩展子卡实现 LWIP 网络通信。 在PL中搭建了1个AXI 1G/2.5G Ethernet Subsystem以及1个AXI Direct Memory Access IP 核。这两个 IP核均通过AXI 总线经S_AXI_HP0 口与PS 连接,PS 通过AXI 总线对其进行配置和控..

wangjie36的博客 1万+

LFM2-2.6B-GGUF应用场景:建筑行业施工图纸要点提取、安全规范问答

本文介绍了如何在星图GPU平台上自动化部署Liquid AI公司开发的LFM2-2.6B-GGUF大语言模型镜像,实现建筑行业施工图纸要点提取和安全规范问答功能。该轻量化模型特别适合施工现场设备,可快速从图纸中提取关键构件信息,并为工人提供实时安全规范解答,显著提升施工效率与安全管理水平。

IronwoodEagle56的博客 978

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

整理了一份比较全面的PHP开发编码规范.

这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改!(可能最新的一些php5的规范不够完整,今后有机会保持更新!)目录1 编写目的2 整体要求3 安全规范3.1 包含文件3.1.1 命名规则3.1.2 存放规则3.2 安全规则3.3 一些针对PHP的规则3.4 其它处理规则3.4.1 对

路 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

开源项目安全规范实操:六大防线的设计、落地与自动化

开源不等于裸奔,代码公开意味着攻击面成倍扩大,安全边界必须主动清晰化。一套可执行的安全规范,应该从需求阶段威胁建模、供应链依赖锁定与签名验证、敏感信息治理与Git历史清洗、最小权限与访问控制、漏洞响应与安全公告,到自动化安全基线门禁,形成纵深防御闭环。本文以真实开源项目为背景,拆解每道防线的落地步骤、常见坑与量化指标,帮助团队将安全从口头约束转化为机器强制的工程实践。无论是正准备开源内部系统,还是想为已有项目补强安全体系,这套方法论都具备直接迁移的价值。

weixin_29323493的博客 274

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

AI Agent Skill 整理与管理实践:以 PPT Skill 为例讲清安装、识别、路由、排错与安全规范(TaoToken 统一 Key 通道版)

用 PPT Skill 讲清 AI Agent Skill 的安装、识别、路由与排错:给出可复制的目录结构、routing.yaml 路由片段与 python-pptx 组装脚本,并附 401、local proxy failed 等报错对照表。Skill 统一走 TaoToken 通道,Base URL 固定 https://taotoken.net/api,Key 只进环境变量,官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 。

weixin_28235889的博客 158

开源公告|腾讯代码安全指南开源,涉及C/C++、Go等六门编程语言

腾讯代码安全指南旨在梳理API层面的风险点并提供详实可操作的编码指引,是我们开展DevSecOps安全左移实践探索过程中,梳理沉淀面向开发人员的代码安全参考材料。本次开源涉及C/C++、J...

腾讯开源 583

ARM嵌入式开发中宏定义的安全规范与工程实践

宏定义是C语言预处理器的核心机制,本质为纯文本替换,不参与类型检查、作用域管理或运行时保护。在ARM Cortex-M裸机开发中,其误用极易引发整数溢出、volatile丢失、寄存器操作非原子等硬件级缺陷。掌握宏的括号防护、副作用规避、编译期常量计算及跨平台寄存器位域抽象,是保障电机控制、传感器驱动、低功耗管理等关键路径可靠性的技术基础。本文聚焦ARM_C工程中宏的安全编写、调试验证与分层治理,覆盖GCC预处理警告失效、__FILE__路径陷阱、#if与#ifdef语义差异等高频实战问题。

weixin_34167819的博客 199

阿里P8大牛整理总结,影响全球250W工程师,两大阿里java开发手册

现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其他维度的知识点也会影响软件的最终交付质量。比如,数据库的表结构和索引设计缺陷可能带来软件的架构缺陷或性能风险,工程结构混乱导致后续维护艰难,没有鉴权的漏洞代码易被黑客攻击等。所以,阿里巴巴两大java开发手册应运而生,总共分为两大部分,作为大家的指路明灯!!!

m0_57042151的博客 161

AI智能体控制物理设备:MHS安全规范解读与工程落地准备

随着AI智能体从数字世界走向物理世界,控制机械臂、读取传感器、操作测试仪器等场景逐渐成为工程常态。然而,物理设备操作不同于纯软件调用,操作边界模糊、权限过大、状态混乱、审计缺失都可能导致不可逆的损失。模型硬件标准(MHS)正是面向这一需求提出的研究预览方向,它并非新的模型或驱动,而是一层可编程的安全边界,通过统一权限模型、状态机、审计日志和回滚策略,让不同设备与智能体在同一规则下协作。对于工程师来说,理解MHS的核心思想,远早于等待正式标准落地更重要;先借助模拟环境验证授权、状态、审计三层逻辑,再逐步迁移到

weixin_34396103的博客 408

微信小程序支付开发流程教程注意事项及解释,适用于刚接触微信支付,看文档看不清楚

本文为自己整理使用,刚开始接触微信小程序中接入微信支付,所以看了一些微信支付的文档,整理了一下。 最近看了看微信支付的文档,感觉越看越乱,然后就一边看文档一边整理,整理了一下微信小程序接入微信支付的方法,以及一些规则和注意事项。 一、接口规则 1.协议规则: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_1 采用HTTPS...

艾小逗 1341

微信答题小程序产品研发-前端开发

(1)JavaScript:使用微信小程序提供的`wx.login`或`wx.getUserInfo`接口实现用户授权登录。(3)JavaScript:从后端获取错题数据,并提供重温错题的功能。(3)JavaScript:绑定轮播图的数据,处理图片的加载和切换。(6)测试和调试:进行代码的测试和调试,确保小程序的稳定性和性能。(1)WXML:构建题库列表,使用``和``标签展示题目信息。(3)用户体验:提供清晰的导航、合理的反馈和流畅的动画效果。(4)安全性:确保用户数据的安全,遵守微信小程序的安全规范。

gaotlantis的博客 931
上一篇: 总结一些当程序员以后领悟到的生活道理
下一篇: 开发涉及的安全规范整理
知了蝉
博客等级 码龄10年 350粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知了蝉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值